質問

[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を設定せずに?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top