我在Mac OSX 10.7.4上。所以我在使用RubyGem的时候安装了rails。
当我是root用户时,rails -v
会产生这个:
bash-3.2# rails -v
Rails 3.2.8
但是当我不是root,rails -v
时,产生这个:
Sreejiths-MacBook-Pro:~ sreejith$ rails -v
/opt/local/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [bundler-1.2.1, rake-0.9.2.2, rubygems-bundler-1.1.0, rvm-1.11.3.5] (Gem::LoadError)
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:1231:in `gem'
from /opt/local/bin/rails:22
为什么会这样?
答案 0 :(得分:2)
当作为root终端时,gems的加载路径是什么。你可以通过进入irb并输入$LOAD_PATH
来找到它。 $LOAD_PATH
您可以访问的内容是什么?宝石是否已安装到root的主目录(或子目录)中?
您使用的是rbenv或rvm吗?这两个工具都为每个用户设置了红宝石,而不是每个系统。因此,当你以你的身份登录时,将一组宝石作为root就不够了。
最后,您可以随时尝试sudo gem install bundler
重新安装捆绑包,然后bundle install
重新安装您的宝石。