red*_*gem 11 ruby ruby-on-rails
我是Ruby/Rails的新手,请原谅我,如果这是一个微不足道的问题.每当我运行时bundle install,它会安装vendor/bundle/ruby/1.8中的所有内容,而不是vendor/bundle/ruby/1.9.1,这是我正在使用的Ruby版本.当我运行时ruby -v,我得到了正确的1.9.1版本,但由于某种原因捆绑安装坚持1.8,这导致许多错误与基本的Rails功能.
如何指示bundle使用1.9.1(最好删除Ruby 1.8的任何痕迹)?
谢谢!
编辑:我已经完成了这个答案所说的一切,而且我没有得到1.8的痕迹
再次编辑:嗯,它以某种方式工作.也许重启Bash修复了它.在任何情况下,是否有强制bundle install使用特定版本的Ruby 的一般解决方案,以免这种情况再次发生或发生在其他人身上?
对我来说问题似乎是我不小心配置了厨师用系统ruby gem版本安装bundler,它将bundler放在系统路径中:
/usr/local/bin/bundle
Run Code Online (Sandbox Code Playgroud)
使用此捆绑版本
/usr/bin/gem(如上面的评论中所述)强制版本1.8
我真的希望它安装在.rbenv我的用户的垫片位置.
要解决此问题,我以root用户身份登录时卸载了捆绑程序,从而将其删除/usr/local/bin.
我已经为用户安装了我所需的ruby版本的gem with bundler,所以现在当我打电话时,which bundle我看到:
/[user_home]/.rbenv/shims/bundle
Run Code Online (Sandbox Code Playgroud)
现在当我运行bundle installbundle时,它与当前的ruby版本相关联.
捆绑包适用于宝石。检查gem命令是否也使用正确的 ruby 版本:在 Ubuntu Linux 上,我必须将/usr/bin/gem符号链接到/usr/bin/gem1.9.1
(/usr/bin/gem1.8 和 /usr/bin/gem1.9.1 之间的唯一区别是定义要使用的 ruby 版本的第一行#!/usr/bin/ruby1.9.1:)