簡體   English   中英

即使安裝了gem,Ruby也找不到所需的庫

[英]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"

為什么“rvm”會顯示在/usr/local/rvm/ path中? 作為系統管理員,您是否使用為多個用戶管理Ruby系統 ,是否進行了系統范圍的安裝?

你有沒有[[ -s '/usr/local/lib/rvm' ]] && source '/usr/local/lib/rvm'~/.bashrc~/.bash_profile~/.profile (以你為准)已配置)?

對於正常的,每天使用,我推薦RVM的默認設置: RVM安裝RVM寶石管理

自我注意:在RVM中購買股票。 太酷了。

它是否在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM