0
/usr/local/lib/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:51:in `gem_original_require': no such file to load -- rails (LoadError)
from /usr/local/lib/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:51:in `require'
from /usr/local/www/sl-exchange/lib/init.rb:4
from /usr/local/lib/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:51:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:51:in `require'
from /usr/local/www/sl-exchange/lib/exchange.rb:11
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:176:in `load'
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:176:in `start_load'
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:257:in `start'
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/controller.rb:69:in `run'
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons.rb:139:in `run'
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in `call'
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in `catch_exceptions'
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons.rb:138:in `run'
from ./data_exchange_preview:15

しかしrails --version、ターミナルで a を実行すると、次のようになります。

root@vpc-db:/usr/local/www/sl-exchange# rails --version
Rails 2.1.1

と私にwhich rails与えます/usr/bin/rails。ruby 1.9.1 を削除し、システムに 1.8.7 をインストールしたので、それが原因かもしれません。以前は /usr/local/bin にありました

4

2 に答える 2

1

何をしたかを正確に伝えるのは難しい。

あなたは Ruby 1.9.1 を削除して 1.8.7 をインストールしたと言いました (かなり最新のバージョンからしばらくの間サポートされていなかったバージョンに移行したため、あまり意味がありません)。それをインストールしました。

あなたは Linux システムを使用しているが、どのシステムかは言わなかったので、必要なすべての Rubygems コードを自動的にインクルードするソースから実行しなかったと推測します。1.8.7もそうでしたが、パッケージ化されたインストールを使用すると、必要なコンポーネントが分離されることが多く、Rubyを実行するのが難しくなります.

その結果、関連付けられた gem を削除せずに Ruby バイナリを削除してから別の Ruby バージョンをインストールすることができます。これにより、関連する gem が孤立するか、少なくとも関連付けられていないままになります。それがあなたがしたことだと思います。

マシンからすべてのRuby パッケージを削除してから、OS バージョンの現在の Ruby を再インストールすることをお勧めします。

次に、RVMまたはrbenvをインストールして Ruby をホーム ディレクトリのサンドボックスにインストールし、システムの Ruby はそのままにします。RVM と rbenv を使用すると、1 つまたは複数の Ruby バージョンを簡単にインストールできます。それぞれに独自の個別の宝石セットがあります。

RVM と rbenv の中で、単純なのは rbenv です。すべてのコマンドと機能を備えているわけではなく、RVM ほど複雑でもありませんが、開発中に複数の Ruby に対してテストする必要がある場合は、パッケージからインストールするよりも優れています。RVM を使用する場合は、インストール手順全体を読んでオプションを理解してから、シングルユーザー用にインストールしてください。

私が管理しているシステムでは、テスト ホストと本番ホストに単一の Ruby をインストールするためだけにパッケージを使用しています。共有開発ホストとデスクトップの開発者は、利便性と柔軟性のために RVM または rbenv を使用しています。

于 2013-07-12T21:44:04.053 に答える
0

ソースを追加するには:

gem sources -a URI

現在の環境を表示するには

gem env
于 2013-07-12T21:49:05.770 に答える