RVM不允许我运行bundle
因为它认为我的Ruby版本与我的Gemfile所说的不同,但它不是:
$ rvm list
rvm rubies
=> ruby-1.9.3-p194 [ x86_64 ]
ruby-1.9.3-p429 [ x86_64 ]
* ruby-2.0.0-p195 [ x86_64 ]
# => - current
# =* - current && default
# * - default
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin13.0.0]
的Gemfile:
ruby '1.9.3-p194'
但是:
$ bundle install
Your Ruby version is 1.9.3, but your Gemfile specified 1.9.3-p194
$
这似乎是一件非常奇怪的事情。有任何想法吗?有很多人有这个问题,但他们的Gemfiles明显不同于正在运行的版本。我甚至完成rvm use 1.9.3-p194
,然后在bundle install
之后立即完成,但我得到了同样的错误。 bundle update
会产生同样的错误。
如果我从Gemfile中删除ruby版本,它将默认为2.0.0,但是通过rvm use
切换到正确的版本(以符合远程服务器ruby版本)实际上是有效的。运行bundle install
然后正常工作。
这个错误是否也来自Rails项目中的rvmrc文件(尽管指定了相同的ruby版本)?
答案 0 :(得分:5)
删除该行并添加一个名为“.ruby-version”的文件,其中包含“1.9.3-p194”。 .ruby-version方法与rvm之外的几个ruby管理器兼容。
答案 1 :(得分:5)
ruby指令明确地省略了指定a的能力 补丁级别。 Ruby补丁通常包含重要的bug和安全性 修复并且非常兼容。 http://bundler.io/v1.2/gemfile_ruby.html
Gemfile中的条目应该只是ruby '1.9.3'