私はUbuntu 10.04を実行しているRailsをインストールしようとしているLinux noobです。最初にRubyをインストールしてからRVMをインストールし、次にrubygemsをダウンロードしてインストールしてからRailsをインストールしました。
Railsは、コマンドの前に「Sudo」がある場合にのみ応答するようです。ターミナルで「Rails new test」と書くと、次のようになります。
/usr/local/lib/site_Ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem Rails (>= 0) (Gem::LoadError)
from /usr/local/lib/site_Ruby/1.8/rubygems.rb:214:in `activate'
from /usr/local/lib/site_Ruby/1.8/rubygems.rb:1082:in `gem'
from /usr/bin/Rails:18
ターミナルに行き、「Rails -v」と書くと、同じ結果が得られます。
/usr/local/lib/site_Ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem Rails (>= 0) (Gem::LoadError)
from /usr/local/lib/site_Ruby/1.8/rubygems.rb:214:in `activate'
from /usr/local/lib/site_Ruby/1.8/rubygems.rb:1082:in `gem'
from /usr/bin/Rails:18
そして、ターミナルに行き、 'Sudo Rails -v'と書くと、次のようになります:Rails 3.0.0.rc
「宝石環境」は私にこれを与えます:
RUBYGEMS VERSION: 1.3.7
- Ruby VERSION: 1.9.2 (2010-07-11 patchlevel -1) [i686-linux]
- INSTALLATION DIRECTORY: /home/josh/.rvm/gems/Ruby-1.9.2-rc2@Rails3tutorial
- Ruby EXECUTABLE: /home/josh/.rvm/rubies/Ruby-1.9.2-rc2/bin/Ruby
- EXECUTABLE DIRECTORY: /home/josh/.rvm/gems/Ruby-1.9.2-rc2@Rails3tutorial/bin
私の疑いは、私のパスが正しく設定されていないことですが、それを修正する方法がわかりません。提案?
Ubuntu 10.10のクリーンインストールでもこの問題が発生しました... rvmとRuby "$ rvm notes"で文書化されている前提条件)をインストールした後でも。
「rvm」gemインストールがシステムzlibインストールを検出できないという問題のようです。上記のダニエルのコメントは素晴らしいコメントです-残念ながらそれは回答としてリストされていません。
だから私のための解決策は、ダニエルが指摘した指示に従うことでした: https://rvm.beginrescueend.com/packages/zlib/ 。
$ rvm pkg install zlib
$ rvm remove 1.9.2
$ rvm install 1.9.2
最初のコマンドは、zlibをrvm領域にローカルにインストールします。 2番目のコマンドはRuby 1.9.2を削除し、3番目のコマンドはRuby 1.9.2をrvm-local zlibとともに再インストールします。
その後、Rubyバージョンを設定してgemをインストールします。
$ rvm use 1.9.2
$ gem install "whatever"
私の推測では、Sudoを使用して宝石をインストールしたと思います(例:Sudo gem install Rails
)。 Sudoを使用してインストールすると、RVMは無視され、システムRubyが使用されます。
RVMを使用する場合、Sudoを使用してインストールする必要はありません(SVMを介してRVMセットアップを実行するためのコマンドrvmsudoがありますが、これを使用することはほとんどありません)。ご使用の環境からわかるように、gemは/home/josh/.rvm/gems/Ruby-1.9.2-rc2@Rails3tutorial/gemsに格納されます。インストールにはroot権限は必要ありません。
だから試してください:
gem install Rails
自分自身として、すべてが機能しているかどうかを確認します。
この警告が表示された場合は、「ERROR:Loading command:update(LoadError)no such file to load-zlib」
基本的に、Rubyをコンパイルするときにzlibライブラリが存在しない場合は、ライブラリに戻ってインストールし、Rubyを再コンパイルするだけです。
だからこれらのステップを試してください
Rubyをアンインストールする
rvmがRuby-1.9.2を削除
必要なライブラリをインストールする
Sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev
Rubyを再インストールする
rvmインストール1.9.2
おそらく、このバージョンのRubyをデフォルトとして設定する必要があります
rvm use 1.9.2 --default
安全のため、現在開いているターミナルを閉じて、新しいターミナルを開いてください。ここから先に進んでください。
Rob Di Marcoが前述したように、RVMでSudo gem install Rails
を使用することはできません( RVMのドキュメント を参照)。
私は実際に非常によく似た質問をしました。最初にRails Sudo gemをインストールし、RVMを使用して古いバージョンのRailsをインストールしようとしたとき、この問題に遭遇しました。これは私のコードでした:
rvm use 1.8.7
rvm gemset create Rails3.0.1
rvm [email protected]
Sudo gem install Rails --version=3.0.1 #the *Sudo* in this line is WRONG
別のユーザー(zetetic)が、次のコマンドを使用して「Sudo gem Rails」をアンインストールすることを提案しました。
Sudo gem uninstall Rails
そして、Sudoなしで再度インストールします-gem install Rails
これをすべて実行した後、元のコードを再試行して機能しましたが、今回はSudoを使用しませんでした。
rvm use 1.8.7
rvm gemset create Rails3.0.1
rvm [email protected]
gem install Rails --version=3.0.1
上記のコードはRVMを使用しようとしている場合にのみ関係しますが、問題を解決するには、SudoをアンインストールしてみてくださいRailsおよびSudoなしで再インストールします。 !
ソリューションは:
apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev
次に:
rvm install Ruby-1.9.2-p290
rvm default 1.9.2
いいえ、すべてのgemはSudoなしでインストールされます。
ここに役立つかもしれないいくつかのデバッグ情報があります。
rvm 1.9.2 --passenger
の前の$ PATH
/home/kevin/.rvm/gems/Ruby-1.9.2-p0/bin:/home/kevin/.rvm/gems/Ruby-1.9.2-p0@global/bin:/home/kevin/.rvm/ rubies/Ruby-1.9.2-p0/bin:/home/kevin/.rvm/bin:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ usr/games
rvm 1.9.2 --passenger
の後の$ PATH
/home/kevin/.rvm/gems/Ruby-1.9.2-p0/bin:/bin:/home/kevin/.rvm/rubies/Ruby-1.9.2-p0/bin:/home/kevin/.rvm/bin:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games
これは私の.bashrcファイルです: http://Pastebin.com/H9U3azAk
ソースからインストールする場合
ext/Setup and uncomment the zlib line
$ ./configure
$ make
$ Sudo make install
$ Ruby -v
=> Ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]
$ gem -v
=> 1.3.7
まず、必要なライブラリをインストールします
Sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev
次に、再インストールRuby 1.9.2
rvm再インストール1.9.2 && rvm use 1.9.2