2016-04-03 11 views
0

私はこのguidelineを以下rbenvために、今、私はバンドラを使用することができ、純粋なルビーを実行RVMからスイッチを作ったが、私はbin/rails sbin/rails g model ModelName、またはrails g model ModelNameを実行したときに、私は以下のエラーが表示されます。RVMからrbenvに切り替わった後、私のルビーの宝石のパスが乱れていますか?

Warning: Running `gem pristine --all` to regenerate your installed gemspecs (and deleting then reinstalling your bundle if you use bundle --path) will improve the startup performance of Spring. 
/Users/home/Development/blogger/vendor/bundle/gems/json-1.8.3/lib/json/ext/parser.bundle: [BUG] Segmentation fault at 0x00000000000418 
ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-darwin15.0] 

もありますこれに続く大規模なクラッシュレポートですが、私はそれが許可されたStackOverflowのポストの長さよりも長いため、それを含めないことを選択しました。

私は同じことをルビー2.1.2で試してみましたが、同じ結果が得られました。また、私はこのエラーを取得します正常に実行gem install rubygems-updategem pristine --allを行っている。ここで

ERROR: While executing gem ... (Gem::Exception) 
    Failed to find gems ["==all"] >= 0 

は、GEM PATHSの下gem env

RubyGems Environment: 
    - RUBYGEMS VERSION: 2.2.2 
    - RUBY VERSION: 2.1.4 (2014-10-27 patchlevel 265) [x86_64-darwin15.0] 
    - INSTALLATION DIRECTORY: /Users/home/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0 
    - RUBY EXECUTABLE: /Users/home/.rbenv/versions/2.1.4/bin/ruby 
    - EXECUTABLE DIRECTORY: /Users/home/.rbenv/versions/2.1.4/bin 
    - SPEC CACHE DIRECTORY: /Users/home/.gem/specs 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-darwin-15 
    - GEM PATHS: 
    - /Users/home/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0 
    - /Users/home/.gem/ruby/2.1.0 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - https://rubygems.org/ 
    - SHELL PATH: 
    - /Users/home/.rbenv/versions/2.1.4/bin 
    - /usr/local/Cellar/rbenv/0.4.0/libexec 
    - /Users/home/.rbenv/shims 
    - /Users/home/.rbenv/bin 
    - /usr/local/bin 
    - /usr/bin 
    - /bin 
    - /usr/sbin 
    - /sbin 

の結果である理由のパスは2.1.0に起こっていますか?これは私の古いバージョンのルビーです。私は確かに私のマシン上でさえそれ以上はないと確信しています。 rbenv versionsの下には記載されていません。これは問題ですか?どのように私は宝石のパスを変更すると私はそれを変更するには?

は、私は私の.bash_profileの中の$ PATHを設定

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile 

export PATH="$HOME/.rbenv/bin:$PATH" 
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi 

私の.profileは空で、中echo $PATH結果:私がしようとすると別の問題がある/Users/home/.rbenv/shims/ruby

/Users/home/.rbenv/shims:/Users/home/.rbenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

which ruby結果私のホームディレクトリにbundleコマンドを使用するには、Could not locate Gemfile or .bundle/ directory がありますが、バンドラが私のgemリストに含まれています。

私は少なくとも3回アンインストールして再インストールしようとしましたが、毎回同じエラーが出ます。もう一度私の問題は私のGEM PATHにあると信じていますが、それを修正する方法を知るには十分な経験がありません。ありがとうございました。

+0

GEM_PATHは赤いニシンです。 Rubyの各x.yリリースの宝石は、同じディレクトリに格納されています。 –

+0

2.1.2または2.1.4を使用している場合、2.1.0はGEM_PATHの最後にあるはずですか?他に何が間違っているのかは分かりません。 – usernm

+0

はい、そうです。それが私のコメントのポイントでした。私は2.2.4を使用していて、私のパスは "2.1.0"を持っているすべての場所で "2.2.0"です。残念ながら私は他に何が間違っているか分からない。あなたはそれをさらに特徴づけて、あなたの質問を更新する必要があります。 –

答えて

1

溶液はちょうど私のレールプロジェクトを削除し、新しい1を開始することでしたが判明します。また、私の宝石をアンインストールして再インストールし、新しいプロジェクトを作成する前にrbenv rehashしました。私は答えを投稿し、質問を削除するだけではなく、このエラーについてのいくつかの質問に対する他の回答でレールアプリを削除してリメイクしていなかったので、私は思った。

+0

はあなたのrbenvインストールのように見えるか、または以前のGemfile/Gemfile.lockがホースされたようです。自己修復の良い試み – prusswan

+0

@usernmどのように正確に宝石をアンインストールしましたか?実際にレールプロジェクトを削除しても問題は解決しないと思いますか?ベンダーのフォルダを削除するのと同じだと思いますか? – Linus

0

@usernm ...あなたのディレクトリにGEMFILEがあるはずです。問題はかなり混乱しています。だから、先頭行にruby 'version'を追加してみてください。私はこれが見るための一つの選択肢であることを願っています。まあ例は次のようになります。

ruby '2.1.4'

+0

私はそれを逃していたが、それは違いはなかった。 – usernm

+0

あなたはgemlistを更新するためにbundle installコマンドを使用していますか?元の宝石が見えます。新しいインストールでは、保存されたgemfileが見つかったときに起きます。そしてそれができなければ、それを再びインストールします。バンドルインストールコマンドを使用していることを確認してください。 –

+0

私はバンドルインストールを使用しています。私はちょうど確かめるためにそれをaginした。私はまだ宝石原始を取得する - すべての時にプロンプ​​トが表示されます – usernm

関連する問題