您的Ruby版本是2.0.0,但您的Gemfile指定了2.1.0
当我尝试捆绑安装时,会收到以下消息:您的Ruby版本是2.0.0,但您的Gemfile指定了2.1.0,ruby,gemfile,Ruby,Gemfile,当我尝试捆绑安装时,会收到以下消息: Your Ruby version is 2.0.0, but your Gemfile specified 2.1.0 在我的GEM文件中,我有以下内容: ruby '2.1.0' 当我在控制台中运行ruby-v时,我得到: ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0] Ruby 2.1.0p0是什么意思?我的Gemfile中应该有什么版本?为什么错误告诉我我有Ruby 2.
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.0
在我的GEM文件中,我有以下内容:
ruby '2.1.0'
当我在控制台中运行ruby-v
时,我得到:
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]
Ruby 2.1.0p0是什么意思?我的Gemfile中应该有什么版本?为什么错误告诉我我有Ruby 2.0.0版?运行
gem install bundler
或
这可能会解决你的问题
对于所有新安装的Ruby版本,您应该更新或安装一个新的bundler。在项目的顶级目录中,创建一个名为
.Ruby version
的文件,其中包含(等待它…)
这显然是现在规范版本的跨
{rbenv,rvm}
方式。如果您使用的是Capistrano,您还应该检查deploy.rb
文件中的set:rbenv_ruby
配置 如果您是在Rails项目中获得此功能的,并且您最近升级了Ruby版本,那么您可能仍然使用旧版本的Ruby运行
./bin/spring stop
将修复此问题。对于更高级的项目。支持versions.conf,其中可以指定比Ruby版本更多的版本 正在生成.versions.conf:
rvm --create --versions-conf use 1.9.3@my_app
ruby=jruby-1.6.8
ruby-gemset=my_app
env-JRUBY_OPTS=--1.9
示例.versions.conf:
rvm --create --versions-conf use 1.9.3@my_app
ruby=jruby-1.6.8
ruby-gemset=my_app
env-JRUBY_OPTS=--1.9
我升级后得到这个。修复了以下问题:
gem install bundler
其次是:
$HOME/.rubies/ruby-2.4.1/bin/bundle
不必将路径指定为
,哪个bundle
指示它已经在使用此路径。但是如果在没有路径的情况下运行bundle
,则会出现版本错误。我不知道为什么?确保您的服务器配置指向正确的ruby安装
我已经在.Ruby version
文件中更新了我的Ruby版本,但没有修复它ruby-v
也显示了正确的版本,但我忘了更新服务器配置
例如,对于我在NGINX服务器块中的rbenv、NGINX和Pushion乘客:passenger\u ruby/Users/myusername/.rbenv/versions/2.3.1/bin/ruby代码>
我需要换成…
passenger\u ruby/Users/myusername/.rbenv/versions/2.3.3/bin/ruby代码>
然后重新启动NGINX,它就工作了。如果您使用rbenv来管理您的ruby环境,您可以在项目目录中运行rbenv local 2.1.0
,以设置GEM文件要求的ruby版本。对于我来说,这些答案都没有帮助。我修复了关闭和再次打开终端的问题。我面临错误消息
您的Ruby版本是2.5.1,但您的Gemfile指定了2.3.0
并通过以下步骤解决:
打开位于您的目录中的文件
将ruby'2.3.0'
更改为ruby'2.5.1'
并保存该文件
返回项目并运行捆绑包更新
此问题已完全解决。感谢您提供有关安装/更新bundler的信息,但它对我不起作用。
当我使用自制软件安装ruby时,我不得不做rbenv-rehash
brew-cleanup-ruby
我最近通过自制更新了Ruby,但自制没有删除旧版本brew cleanup ruby
将删除旧版本的ruby。当您安装新版本的ruby并将.ruby version和Gemfile更新到新版本时,可能会发生这种情况,而无需先安装新版本ruby的所有gems。政府也是如此
./bin/spring stop
$ bundle install
您可能还需要source.profile或重新启动您的shell。以上答案对我都不起作用,但是
$ gem pristine --all
你为我做了这个把戏
buona fortuna其他建议都不适合我。在服务器上,我必须执行以下操作:
rvm——默认使用[正确的版本号]
有相同的错误。执行以下操作可以修复它。我使用的是ruby 2.5.5和rbenv。从2.5.1升级
- rbenv再灰烬
- gem卸载绑定器
- gem安装绑定器
- gem安装bundler:1.17.3(我的应用程序需要特定的bundler-v1.17.3)
- 安装导轨
我遇到了一些非常相似的问题,只是版本不同而已。我最终通过转到并将bundler的最新版本放在我的gemfile中修复了它,该文件当前为:
gem 'bundler', '~> 2.1', '>= 2.1.4'
仍然存在一个问题,但在那之后,我运行:
gem update --system
它解决了rails项目文件夹中Ruby的混合版本。在执行此操作之前,可能必须重新启动终端。另外,我注释掉了bundler gem文件,看来gem update--system命令才是真正解决这个问题的方法
这个问题的主要原因是您的机器和文件使用了不同的ruby版本
$ rvm current
$ ruby -v
因此,这个问题有多种问题和解决方案,您可以逐一尝试以下解决方案
1-确保您的计算机安装并使用相同版本的GEM文件。如果您的计算机未使用相同版本的GEM文件,请尝试使用rvm安装此版本
$ rvm install ruby_version_you_want
使用此命令确保安装的版本成功
$ rvm list
$ rvm --default use ruby_version_you_want
如果新版本未设置为默认版本,则可以使用以下命令进行设置
$ rvm list
$ rvm --default use ruby_version_you_want
您可以检查当前的ruby版本
$ rvm current
$ ruby -v
2-如果您有相同的问题,请检查您的捆绑包
$ gem install bundler
or
$ gem update bundler
3-在某些情况下,spring仍然使用旧版本,因此您需要停止它
$ ./bin/spring stop
4-您可以键入的另一个案例
$ gem pristine --all
然后再次尝试安装捆绑包
5-在某些情况下,在安装更新的ruby版本后,只需重新启动终端即可
6-另一个解决方案,但我不建议将其作为项目的顶级目录,创建一个名为.ruby version的文件,其中包含您的活动运行ruby版本
$ rvm current
$ ruby -v
7-如果仍然存在此问题,请尝试删除ruby并仅安装更新版本
$ aptitude purge ruby
如果您使用的是rbenv,只需运行
rbenv local 2.0.0
然后
我通过将ruby版本更新为ruby'2.4.0'
然后bundle安装
我打开了Gemfile,用我自己的ruby2.7.0版本替换了2.7.1
,一切正常