rubygems の bin フォルダと PATH の説明
おー。rvm ruby にはレールがインストールされていませんが、システム ruby にはインストールされています。
個々の gemは、実行可能なヘルパー スクリプトを含むディレクトリをrails
持つことができます。bin
システムのデフォルトの rubygems は、システムの /usr/bin/ dir からbin
これらのヘルパー実行可能ファイル用の gem のフォルダーへのシンボリック リンクを作成しています。
RVM は同様の機能を提供しますが、システムの /usr/bin ディレクトリを汚染する代わりに、その ~/.rvm/gems/#{rvm_gemset_string}/bin
フォルダーを PATH 環境変数に追加するだけです。
システム Rubygems リストを新しい rvm rubies の gem ディレクトリにインポートする
デフォルトでは、RVM はシステムの ruby インストールから rvm の ruby インストールに gem をインポートしません。rubygems (gem 'rubygems') と rubygems の gem リストを含む ruby システム全体の完全なクリーンフォークを作成します。rvm install 1.9.2
Ruby で使用するすべてのものを完全に新規インストールしたようなものです。
以前に使用していたすべてのシステム ruby gem を好みの rvm ruby に取得したい場合は、これを試してください。
rvm use system
rvm gemset export system.gems
rvm use 1.9.2
rvm gemset import system.gems
#You'll now have all your system gems reinstalled to your new ruby version
元の回答/ @ Telemachus からの編集
rvm のソースとなる行を or の最後に移動してみて~/.bash_profile
ください~/.bashrc
:
'[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function'
.
bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file ...
| | ^--------------------------------\
^ Bash, not rvm; ^/usr/bin/rails, not ~/.rvm/gems/*/bin/rails; |
Some ruby leftover from a previous install in the os
Rails が にインストールされています/usr/bin
。これはおそらく bash 変数の rvm ruby bin パスの前にあるため、次echo $PATH
のように始まるシステム rails install (/usr/bin/rails、ruby スクリプト) が検出されます。
#! /usr/bin/ruby18
競合が発生しないようにする必要があります。考えられる最善の方法は、RVM の bin ディレクトリが PATH の先頭にあることを確認することです。これは、rvm のインストール時に#Load rvm environment
追加したスクリプトで発生します。~/.bash_profile
ユーザー用ではなく、システム ライブラリとして rvm をインストールした場合、これは異なります。
その場合は、@Telemachus に問い合わせてください。
次に、上記のように、新しい rvm ruby に rails gem がインストールされていることを確認する必要があります。
受け入れテスト:
rvm use 1.9.2
を実行すると、は のようなものを返し、 のwhich ruby
ようなものを返す必要があることがわかります。~/.rvm/rubies/1.9.2/bin/ruby
which rails
~/.rvm/gems/*/bin/rails