8

私はUbuntu11.10のコンパスの幸せで心配のないユーザーでした。12.04にアップグレードしたところ、次の問題が発生しました:コンパス(ルビー)エンコーディングエラー

私はどういうわけか私のコンピューターの1つにrvmを介してrubyをインストールしてそれを解決することができましたが、今は他のコンピューターで別のエラーが発生します(同じ初期の問題がありました)。ルビーとコンパスをインストールし、デフォルトとしてグローバルgemsetを使用します。

    gem list

*** LOCAL GEMS ***

bundler (1.1.3)
chunky_png (1.2.5)
compass (0.12.1)
fssm (0.2.9)
rake (0.9.2.2)
rubygems-bundler (1.0.0)
rvm (1.11.3.3)
sass (3.1.18)

しかし、コンパスで何かをしようとすると、次のエラーが発生します。

    compass
/home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler/shared_helpers.rb:22:in `default_gemfile': Could not locate Gemfile (Bundler::GemfileNotFound)
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:213:in `default_gemfile'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:164:in `root'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:123:in `load'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:114:in `setup'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:119:in `require'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/gems/compass-0.12.1/bin/compass:25:in `<top (required)>'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/bin/compass:19:in `load'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/bin/compass:19:in `<main>'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/bin/ruby_noexec_wrapper:14:in `eval'
    from /home/mrpotato/.rvm/gems/ruby-1.9.3-p194@global/bin/ruby_noexec_wrapper:14:in `<main>'

ご協力いただきありがとうございます。

4

4 に答える 4

14

リリースされたばかりの新しいバージョンのrubygems-bundlerに問題があるようです。以前のバージョン()をインストールすると、gem install -v 0.9.2 rubygems-bundler修正されました。

編集:私も実行しましrubygems-bundler-uninstallerたが、これが修正の本当のソースであった可能性があります。

于 2012-05-16T00:01:19.193 に答える
3

今日、MountainLionを搭載したMacにCompass/ SASS / RVMをインストールしようとしたときに、この問題が発生しました。

rubygems-bundler-uninstallerを実行/アンインストールすることができなかったため、次のことを行う必要がありました。

  1. rvmグローバルgemsetに切り替えて、rubygems-bundlerをアンインストールします。rvmruby-1.9.3-p194@global次に、gemはrubygems-bundlerをアンインストールします。

  2. 次に、他のgemset(rvm ruby​​-1.9.3-p194)に切り替えて、コンパスやsassなどのgemが機能するようにします。

それが正しいやり方かどうかはわかりませんが、私にとってはうまくいきました。それが誰かを助けることを願っています。

于 2012-09-18T22:06:25.757 に答える
1

これは、手段の存在が呼び出されたと想定するコンパスのバグです。BundlerBundler.setup

これがそれを壊す行ですhttps://github.com/chriseppstein/compass/blob/stable/bin/compass#L24-L26

24 if defined?(Bundler)
25   Bundler.require :assets
26 end
于 2012-05-16T02:45:56.057 に答える
1

たまたまコンパスを使用したいノードベースのアプリを構築するためにyeomanを使用している場合は、これらのタイプのアプリのGemfile要件を無効にすることができます。

~/.bash_profileこの行をあなたの:に追加するだけです

export NOEXEC_EXCLUDE="compass"

実行source ~/.bash_profileして再試行してください。grunt serverヨーマンが生成したAngularプロジェクト(Gemfileを必要としない)で実行しているときにこの問題が発生していました。

https://github.com/mpapis/rubygems-bundler#disabling-executables

于 2013-11-27T22:52:15.720 に答える