[英]Ruby cannot find required libraries even though gem is installed
我花了幾天時間嘗試安裝ruby 1.9.2並使用gems: - /我最終放棄了我的Mac OSX 10.6機器,下面是我的Ubuntu機器上的當前狀態。 任何建議將不勝感激!
# ruby test.rb
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- mongo (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from test.rb:1:in `<main>'
# cat test.rb
require 'mongo'
db = Mongo::Connection.new.db("mydb")
# gem which mongo
/usr/local/rvm/gems/ruby-1.9.2-p0/gems/mongo-1.1.2/lib/mongo.rb
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"
根據這個頁面: http : //docs.rubygems.org/read/chapter/19我用symlinked我用來匹配gem正在使用的ruby:
# which ruby
/usr/local/rvm/bin/ruby
# ls -l `which ruby`
lrwxrwxrwx 1 root root 44 2010-11-17 13:25 /usr/local/rvm/bin/ruby -> /usr/local/rvm/rubies/ruby-1.9.2-p0/bin/ruby
# gem env | grep 'RUBY EXECUTABLE'
- RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-1.9.2-p0/bin/ruby
# which gem
/usr/local/rvm/bin/gem
# gem -v
1.3.7
# ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
嘗試在開頭添加以下行
require "rubygems"
它是否在Ruby 1.8.7下工作,默認情況下在OS X上預安裝?
如果是這樣,1.9.1和1.9.2之間的一個區別是"."
不再是$:
的路徑的一部分了。
我建議您執行rvm implode
並刪除當前設置。 然后使用railsready腳本在Ubuntu上為您正確設置RVM和Ruby。 重要的是要了解在您知道自己在做什么之前,應該以用戶身份運行腳本。 希望有所幫助。
在linux和OS X上,我總是不得不在開頭放置require“rubygems”。 然而,在Windows上沒有這一行的情況下它一直很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.