8

ruby バージョンと一緒に RVM をインストールしました。ただし、コンソールを起動してコマンドレールサーバー、バンドルインストールなどを実行すると、このエラーが発生します

bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file or directory

しかし、私がrvm use 1.9.2最初に実行すれば、すべて問題ありません。「rvm use --default 1.9.2」を使用してみましたが、何も変わりませんでした。これは、RVM のものとは異なるルビを使用しているということですか? 前もって感謝します!

4

3 に答える 3

17

rubygems の bin フォルダと PATH の説明

おー。rvm ruby​​ にはレールがインストールされていませんが、システム ruby​​ にはインストールされています。

個々の gemは、実行可能なヘルパー スクリプトを含むディレクトリをrails持つことができます。binシステムのデフォルトの ruby​​gems は、システムの /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') と ruby​​gems の gem リストを含む ruby​​ システム全体の完全なクリーンフォークを作成します。rvm install 1.9.2Ruby で使用するすべてのものを完全に新規インストールしたようなものです。

以前に使用していたすべてのシステム 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/rubywhich rails~/.rvm/gems/*/bin/rails

于 2011-06-17T01:48:52.787 に答える
4

Windows Vistaで同じ問題を解決しました。

コンソールに次のメッセージが表示されました。

$ rails -v
sh: /c/RailsInstaller/Ruby1.9.2/bin/rails: C:/Projects/railsinstaller/Stage/Ruby1.9.2  /bin/ruby.exe: bad interpreter: No such file or directory

このファイルの最初の行を編集しました。

C:\RailsInstaller\Ruby1.9.2\bin\rails

そして、次のように、システム上の ruby​​.exe の正しい場所を指すようにしました。

#!C:\RailsInstaller\Ruby1.9.2\bin\ruby.exe

ほら、問題は解決しました!

于 2011-09-08T18:49:59.450 に答える
0

rvm use --default 1.9.2だけでなく、実行する必要がありますrvm use --default

于 2011-06-17T01:16:50.837 に答える