我从源代码安装了Ruby 1.9.2。但似乎在识别我已经安装的bundler gem时遇到了一些麻烦。
我的/etc/environment
文件:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin"
看起来我的宝石在/usr/local/ruby/gems/1.9.1/gems/
。
在我的rails应用程序中,当我尝试运行sudo bundle install时出现错误:
sudo: bundle: command not found
另外,为什么目录说1.9.1?
答案 0 :(得分:-1)
键入which ruby
以查看系统认为ruby所在的路径。
在设置配置时,您是否使用--prefix=...
选项进行配置?通常来自源的Ruby不会在/ usr / local / ruby / bin中。 Ruby可执行文件将位于/ usr / local / bin / ruby中,但这不是您设置PATH以使用它的方式,因此看起来很可疑。请注意,您的路径已包含/usr/local/bin
,因此如果将Ruby安装到源安装的正常位置,则该路径将对其进行检索,并且您对/usr/local/bin/ruby
的最终搜索将是错误且不必要的。
如果您在安装新版本的Ruby之前安装了gem,那么gem将成为先前安装的一部分,而不是当前安装,并且不会对它可见。它们是单独的安装。
除非您尝试为多个用户进行系统范围的安装,否则没有真正的理由从源代码编译并允许它安装到/ usr / local / bin。我强烈建议安装RVM,然后让它将任何Ruby版本安装到RVM的~/.rvm
沙箱中。 Gems也将相对于当前启用的RVM控制的ruby安装,这是一件非常好的事情。