質問
[OK]を、私は成功せず、このいずれかを把握しようと4時間を費やしてきました。私はすべての通常の容疑者を試してみましたが、ルビー1.9.1、ロードパス、宝石、マックOS Xの、FreeBSDの、エビや他のもののすべての組み合わせをGoogleで検索しました。一番下の行はこれです:
私はマックOS X 10.5上の情報源からruby1.9.1-P129をコンパイルすると、、デフォルトのロードパスは、(私が手$ :)は、次のとおりです。
ruby -e "puts $:" /usr/local/lib/ruby/gems /usr/local/lib/ruby/site_ruby/1.9.1 /usr/local/lib/ruby/site_ruby/1.9.1/i386-darwin9.7.0 /usr/local/lib/ruby/site_ruby /usr/local/lib/ruby/vendor_ruby/1.9.1 /usr/local/lib/ruby/vendor_ruby/1.9.1/i386-darwin9.7.0 /usr/local/lib/ruby/vendor_ruby /usr/local/lib/ruby/1.9.1 /usr/local/lib/ruby/1.9.1/i386-darwin9.7.0 .
私はエビの宝石をインストールする際に、例えば、私が手に:
gem which prawn (checking gem prawn-0.5.0.1 for prawn) /prawn.rb
と私はそれを必要としようとすると、私が入手ます:
ruby -e "require 'prawn'" -e:1:in `require': no such file to load -- prawn (LoadError) from -e:1:in `'
私はこの問題を解決することができました唯一の方法は、このような愚かな何かをすることです。
$: << "/usr/local/lib/ruby/gems/1.9.1/gems/prawn-0.5.0.1/lib"
これは、もちろん、全くばかげています。そこで問題は、私は正しい宝石のパスを認識し、従うことルビー1.9.1を得るのですかですか?私はので、私はそれが特定の1.9.1と仮定しています1.8.7でこの問題を持っていたことがありません。私はここで完全に何かを明らかに不足していることだし、すべてのヘルプははるかに高く評価されるだろうと感じ!
解決
設定GEM_PATH =は/ usr / local / libに/ルビー/宝石/ 1.9.1
問題を解決しました。私はそれは、単純な何かを知っていました。ただ、それは把握するALL DAYを取ったことを私に悪化させます!これは!! 1.8.7でこの問題を持つことはありません。もちろんRTFMしないことによるものです。
他のヒント
のKubuntuカルマに同じ問題を。
インストールます:
$ sudo apt-get install build-essential ruby1.9.1-full libsqlite3 libsqlite3-dev rubygems1.9
$ sudo gem install sqlite3-ruby rails thin --no-rdoc --no-ri
結果:
$ ruby -e "require 'rubygems'; require 'sqlite3'"
-e:1:in `require': no such file to load -- sqlite3 (LoadError)
from -e:1:in `<main>'
ソリューション:
$ export GEM_PATH=/usr/lib/ruby1.9.1/gems/1.9.1/
require 'rubygems'
require 'prawn'
物事はあなたがもはや最初にRubyGemsを要求する必要がない点1.9で変更された場合を除きます。
あなたは、このような問題を持っている次回は、コマンドラインからgem env
を実行することを忘れないでください。これは、Windows上で何が起こるかですが、原理はほとんど同じです。
C:\Documents and Settings\a.grimm>gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.5
- RUBY VERSION: 1.9.1 (2010-01-10 patchlevel 378) [i386-mingw32]
- INSTALLATION DIRECTORY: C:/Ruby19/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE: C:/Ruby19/bin/ruby.exe
- EXECUTABLE DIRECTORY: C:/Ruby19/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-mingw32
- GEM PATHS:
- C:/Ruby19/lib/ruby/gems/1.9.1
- C:/Documents and Settings/a.grimm/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org/
私は同じ問題に異なる答えを探しています。いくつかの状況で(すなわち。システムタスクを起動)ルビーを実行する前に、環境変数を設定することは不可能である。
宝石を必要とするルビー(V> = 1.9.1)のコードを実行中に、いくつかの方法はありますか? GEM_PATHを設定せずに?