Rails捆绑器版本问题

时间:2019-09-25 09:10:35

标签: ruby-on-rails ruby bundler

我在Ubuntu上有Rails项目。 现在,我在另一台计算机上安装了WSL,并克隆了相同的项目。 现在,当我尝试使用捆扎机安装

gem install bundler 

它安装了捆绑软件2.0.2,并在bundle install上给出了错误:

无法找到宝石'bundler(<2.0,> = 1.3.0)',这是宝石'rails(〜> 5.0.0)'必需的

现在,我查看了与1.16.4捆绑在一起的gemfile.lock,我将其安装了

 gem install bundler -v '1.16.4' 

现在我做一个简单的bundle install,然后它使用2.0.2,所以我必须做

bundle _1.16.4_ install 

它成功完成了,但是现在当我尝试做rails db:create时,它说

git源https://github.com/activerecord-hackery/ransack.git尚未检出。请先运行bundle install,然后再尝试启动您的应用程序

这是怎么了?

3 个答案:

答案 0 :(得分:0)

卸载捆绑程序2.0.2:

gem uninstall bundler -v 2.0.2

如果仍然有问题,可以使用:

bundle exec rails db:create

答案 1 :(得分:0)

如果可能,您可以通过以下方式更新为使用捆绑程序2.x:

bundle update --bundler

这将更改Gemfile.lock中的BUNDLED_WITH版本。

请参阅:https://bundler.io/guides/bundler_2_upgrade.html

您还可以设置默认的捆绑器版本:

bundler config default 1.16.4
gem list bundler

但是我发现这有点容易出错。

答案 2 :(得分:0)

尝试删除所有宝石(转到红宝石的gems文件夹,删除规格文件夹和gems文件夹),

  • gem list应该或多或少是空的
  • gem install bundler
  • 然后尝试从头开始bundle install