本文介绍了Rails表示已安装Bundler 2.0.1,“必须使用Bundler 2或更高版本"吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm a Rails newb who's trying out Rails on a DigitalOcean droplet. The installations seemed to work fine, but I'm getting a curious error message when I try to generate a scaffold:

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)

也就是说,当前的Bundler gem是2.0.1版,但是Rails仍然认为它不够用.

I.e., the current Bundler gem is version 2.0.1, but Rails still thinks it's insufficient.

我在网络上找不到任何类似的内容.我可以看到的唯一危险信号是捆绑程序gem显示默认版本1.17.2.我如何开始诊断问题?

I can't find anything similar on the web. The only red flag I can see is that the bundler gem shows a default version of 1.17.2. How do I begin to diagnose the problem?

推荐答案

我遇到了同一问题&通过使用gem uninstall bundler降级解决了该问题,然后使用gem install bundler -v 1.17.3降级到了最后一个pre 2版本.

I ran into the same issue & resolved it by downgrading with gem uninstall bundler, followed by gem install bundler -v 1.17.3 to revert back to the last pre 2 version.

我在使用不同版本管理器(ASDF,rbenv,rvm)的3个独立系统中看​​到了此问题,从而解决了该问题.

I saw this across 3 separate systems using different version managers (ASDF, rbenv, rvm) and this resolved the issue.

有关使两个版本正常播放的一些信息此处.造成此问题的根本原因可能是一个错误(此错误似乎已经得到修复)

There is some information on getting both versions to play nicely here. The root cause of this issue may have been a bug (which appears to have since been fixed)

根据下面@MatijsvanZuijlen的注释以及捆绑程序文档,您还应该能够通过bundle _1.17.3_ install

Per the comment from @MatijsvanZuijlen below, and the bundler documentation, you should also be able to specify which version of bundler you want to use at runtime with bundle _1.17.3_ install

这篇关于Rails表示已安装Bundler 2.0.1,“必须使用Bundler 2或更高版本"吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 09:24