安装了Bundler 2.0.1,Rails说"必须使用Bundler 2或更高版本"?

Ton*_*ony 21 rubygems ruby-on-rails version bundler

我是一个Rails newb谁正在尝试使用DigitalOcean Droplet上的Rails.安装似乎工作正常,但当我尝试生成脚手架时,我收到一条奇怪的错误消息:

DO 10:48 Rails/simple (master) ? rails generate scaffold User name:string email:string
Traceback (most recent call last):
        5: from bin/rails:3:in `<main>'
        4: from bin/rails:3:in `load'
        3: from /home/tony/rails/simple/bin/spring:10:in `<top (required)>'
        2: from /home/tony/rails/simple/bin/spring:10:in `new'
        1: from /home/tony/.rvm/rubies/ruby-2.6.0/lib/ruby/2.6.0/bundler/lockfile_parser.rb:95:in `initialize'
/home/tony/.rvm/rubies/ruby-2.6.0/lib/ruby/2.6.0/bundler/lockfile_parser.rb:108:in `warn_for_outdated_bundler_version': You must use Bundler 2 or greater with this lockfile. (Bundler::LockfileError)
DO 10:49 Rails/simple (master) ? bundle list bundler
/home/tony/.rvm/gems/ruby-2.6.0/gems/bundler-2.0.1
DO 10:50 Rails/simple (master) ? gem list bundler

*** LOCAL GEMS ***

bundler (2.0.1, default: 1.17.2)
bundler-unload (1.0.2)
rubygems-bundler (1.4.5)
Run Code Online (Sandbox Code Playgroud)

即,目前的Bundler gem是版本2.0.1,但Rails仍然认为它不够.

我在网上找不到类似的东西.我能看到的唯一一个红旗是bundler gem显示的默认版本是1.17.2.我该如何开始诊断问题?

小智 19

这对我有帮助: gem update --system


Jay*_*sey 17

我遇到了同样的问题并通过降级来解决它gem uninstall bundler,然后gem install bundler -v 1.17.3恢复到最后的前2版本.

我使用这使我相信打捆的2.X版本还没有准备好用于生产用途却不同版本管理(ASDF,rbenv,RVM),看到这个在3个独立的系统.

有一些关于让这两个版本在这里发挥得很好的信息,但我也没有成功.

  • 您不必删除bundler 2.0:您还可以通过运行`bundle _1.17.3_`强制运行版本1.17.3. (2认同)

小智 5

这是我的解决方案:

  1. (如果您有旧版本的 Bundler),请运行以下命令:

    bundle update --bundler

  2. 运行命令:

    gem update --system

  3. 运行耙子

    rake db:migrate