我花了几天时间尝试安装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 我用符号链接我用来匹配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]
答案 0 :(得分:6)
尝试在开头添加以下行
require "rubygems"
答案 1 :(得分:2)
为什么“rvm”会显示在/usr/local/rvm/
路径中?作为使用administering Ruby system wide多个用户的系统管理员,您是否进行了系统范围的安装?
您是否已将[[ -s '/usr/local/lib/rvm' ]] && source '/usr/local/lib/rvm'
添加到~/.bashrc
,~/.bash_profile
或~/.profile
(无论您配置了哪个)?
对于正常的,每天使用,我建议RVM的默认设置: RVM installation,RVM gems management。
自我注意:在RVM中购买股票。太酷了。
答案 2 :(得分:1)
它是否在Ruby 1.8.7下工作,默认情况下在OS X上预先安装?
如果是这样,1.9.1和1.9.2之间的一个区别是"."
不再是$:
路径的一部分。
答案 3 :(得分:1)
我建议您执行rvm implode
并删除当前设置。然后使用railsready脚本在Ubuntu上为您正确设置RVM和Ruby。重要的是要了解在您知道自己在做什么之前,应该以用户身份运行脚本。希望有所帮助。
答案 4 :(得分:0)
在linux和OS X上,我一直不得不在开头放置require“rubygems”。然而,在Windows上没有这条线的情况下它一直很好。