Gemfile ROR版本和本地机器ROR版本不匹配

时间:2016-06-11 04:05:35

标签: ruby-on-rails ruby heroku

我是ROR和heroku的完全初学者。目前我正在尝试使用bitbucket中的git创建一个应用程序,我的gemfile版本(2.2.3)与我的ruby on rails版本2.3.1不同。

我可以采取哪些步骤来确保我的gemfile可以更改?

gemfile中的这种不匹配导致了我的" git push heroku master"失败并出现以下错误。

安装mime-types(3.0)时发生错误,而Bundler则不能 远程:继续

非常感谢你! (:

1 个答案:

答案 0 :(得分:1)

Ruby 2.3很酷 - 像safe navigation operator这样的东西,所以我建议安装它,但如果你不想 -

在您的Gemfile或.ruby-version文件中,您可能会有一行显示ruby 2.3.1。暂时将其更改为已安装的版本,2.2.3。

如果您想跳过标记为仅属于bundle组的宝石,请运行bundle --without production,或者production。例如,如果您没有在本地安装postgres。

然后将您的Gemfile或.ruby-version切换回2.3.1。提交并尝试推送。

这取得了什么成果?它将ruby版本固定为2.3 for heroku,但使用您安装的版本安装Gemfile.lock。就我所知,Heroku只需要Gemfile.lock用于开发宝石。

顺便说一句,我假设您使用 ruby​​ 版本2.2.3而不是 Rails 版本。当前的Rails版本是4.x.x或5.x.x.要运行Rails 2.x.x,您可能需要降级到Ruby 1.8.7或其他东西。