我花了几天时间尝试安装 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我对我使用的 ruby​​ 进行了符号链接以匹配正在使用的 gem:

# 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]
有帮助吗?

解决方案

为什么“rvm”显示在您的 /usr/local/rvm/ 小路?您是否以系统管理员身份使用进行了系统范围的安装 在系统范围内管理 Ruby 对于多个用户?

你添加了吗 [[ -s '/usr/local/lib/rvm' ]] && source '/usr/local/lib/rvm' 给你的 ~/.bashrc, ~/.bash_profile 或者 ~/.profile (无论您配置了哪一个)?

对于正常的日常使用,我推荐 RVM 的默认设置:RVM安装, RVM宝石管理.

注意自我:购买 RVM 股票。太酷了。

其他提示

尝试把下面的行的开头

require "rubygems"

它的Ruby 1.8.7,其中预先默认安装在OS X下工作吗?

如果如此,1.9.1和1.9.2之间的一个区别是,"."不是$:的路径的一部分的任何其他。

我建议你做rvm implode并删除当前的设置。然后使用 railsready 脚本设置RVM和Ruby妥善为您在Ubuntu。要明白,直到你知道你在做什么,你应该运行该脚本的用户是很重要的。希望有所帮助。

在Linux和OS X,我一直把需要在一开始“RubyGems的”。但是它一直工作得很好,而不该行窗口。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top