"您的Ruby版本是1.9.3,但您的Gemfile指定为1.9.3-p194"

Ben*_*ley 3 ruby ruby-on-rails rvm gemfile

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]
Run Code Online (Sandbox Code Playgroud)

的Gemfile:

ruby '1.9.3-p194'
Run Code Online (Sandbox Code Playgroud)

但是之后:

$ bundle install
Your Ruby version is 1.9.3, but your Gemfile specified 1.9.3-p194
$ 
Run Code Online (Sandbox Code Playgroud)

这似乎是一件非常奇怪的事情.有任何想法吗?有很多人有这个问题,但他们的Gemfiles明显不同于正在运行的版本.我甚至完成了rvm use 1.9.3-p194,然后立即完成,bundle install但我得到了同样的错误.bundle update产生相同的错误.

如果我从Gemfile中删除ruby版本,它将默认为2.0.0,但切换rvm use到正确的版本(以符合远程服务器ruby版本)实际上是有效的.跑bundle install然后工作.

这个错误是否也来自于Rails项目中的rvmrc文件(即使指定相同的ruby版本)?

And*_*dyV 5

删除该行并添加名为".ruby-version"的文件,其中包含"1.9.3-p194"..ruby-version方法与rvm以外的几个ruby管理器兼容.


Sha*_*cci 5

ruby指令明确地省去了指定补丁级别的能力.Ruby补丁通常包含重要的错误和安全修复程序,并且非常兼容. http://bundler.io/v1.2/gemfile_ruby.html

您的Gemfile中的条目应该是 ruby '1.9.3'