Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您的Ruby版本是2.0.0,但您的Gemfile指定了2.1.0_Ruby_Gemfile - Fatal编程技术网

您的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,用我自己的ruby
    2.7.0版本替换了
    2.7.1
    ,一切正常