我正在制作一个项目,当我运行一个生成命令时,我收到以下错误:
fullpath: /Users/adamgoldberg/shopify-sinatra-app/theappearsystemcontrol6
Your Ruby version is 2.3.1, but your Gemfile specified 2.2.2
Bundler::RubyVersionMismatch: Your Ruby version is 2.3.1, but your Gemfile specified 2.2.2
/Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/definition.rb:417:in `validate_ruby!'
/Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:91:in `setup'
/Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
/Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'bundler: failed to load command: rake (/Users/adamgoldberg/.rbenv/versions/2.3.1/bin/rake)
我必须为我的项目使用ruby版本2.3.1,所以我尝试更改我的Gemfile版本。 我的gemfile现在包含这个:
ruby "~> 2.3"
我尝试了各种命令,以便Gemfile识别出我想要使用不同的ruby版本。我试过了:
bundle update
bundle install
gem bundle install
rbenv rehash
即使我的Gemfile.lock说它使用的是2.3.1:
RUBY VERSION
ruby 2.3.1p112
我甚至删除了该项目并重新开始。
请帮忙
更新:我删除了项目并重新启动。这是我从主目录中取出的确切步骤
ruby -v: #2.3.1
git clone https://github.com/kevinhughes27/shopify-sinatra-app.git
gem install shopify-sinatra-app
shopify-sinatra-app-generator new myshop
并出现与上述相同的错误:
Your Ruby version is 2.3.1, but your Gemfile specified 2.2.2
My Gemfile如下所示:
source 'https://rubygems.org'
gemspec
它实际上是空的......我甚至没有指定红宝石版本
然后我跑了
bundle install
bundle update
仍出现相同的错误。 然后我在我的Gemspect中指定了ruby版本,它现在看起来像这样:
source 'https://rubygems.org'
ruby "2.3.1"
gemspec
但仍出现相同的错误
答案 0 :(得分:0)
我认为你不能在Ruby版本中使用类似的版本说明符。我从未见过这样的例子。
如果你想要v2.3.1:
,也许可以这样试试ruby "2.3.1"
答案 1 :(得分:0)
你在这里的尝试:
ruby "~> 2.3"
似乎是正确的方法,但你应该使用精确的Ruby版本:
ruby "2.3.1"
值得一提的是,如果您不想,您不一定需要在任何地方手动指定ruby版本。
更新了答案
我克隆了宝石并尝试安装它。我得到了同样的错误。我想出了2.2.2
依赖的来源在哪里。这是宝石的源代码,对我来说是~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/shopify-sinatra-app-0.3.0
。在examples/Gemfile
中有ruby '2.2.2'
行。
我尝试删除此行,但安装activesupport时出现了其他错误。我认为使用这个gem生成应用程序的最简单的解决方案可能是安装ruby 2.2.2