捆绑安装错误 - ruby​​_dep-1.5.0 需要 ruby​​ 版本 >= 2.2.5 但我有版本 3.0.1p64

Fel*_*ipe 20 ruby rubygems ruby-on-rails bundler

我曾经在一个使用 Ubuntu 机器的项目中完美地工作。\n过了一段时间,我决定跳入 Fedora,现在我已经设置了所有内容,我打算继续该项目,但当我运行时,我得到以下信息bundle install

\n
\xe2\x9e\x9c bundle install\nFollowing files may not be writable, so sudo is needed:\n  /usr/bin\n  /usr/share/gems\n  /usr/share/gems/build_info\n  /usr/share/gems/bundler\n  /usr/share/gems/cache\n  /usr/share/gems/doc\n  /usr/share/gems/extensions\n  /usr/share/gems/gems\n  /usr/share/gems/plugins\n  /usr/share/gems/specifications\nFetching gem metadata from https://rubygems.org/..........\nResolving dependencies....\nruby_dep-1.5.0 requires ruby version >= 2.2.5, ~> 2.2, which is incompatible with the current version, ruby 3.0.1p64\n
Run Code Online (Sandbox Code Playgroud)\n

显然,我的 Ruby 版本要求已得到满足。\n我应该将其降级以便继续吗?\n如果是这样,如何在没有 rvm 或 rbenv 的情况下正确执行此操作?

\n

我在 Gemfile.lock 上找到了 2 行,ruby_dep但我不太确定如何继续。第一个结果是嵌套的,另一个结果不是:

\n
listen (3.1.5)\n  rb-fsevent (~> 0.9, >= 0.9.4)\n  rb-inotify (~> 0.9, >= 0.9.7)\n  ruby_dep (~> 1.2)\n...\nruby_dep (1.5.0)\n
Run Code Online (Sandbox Code Playgroud)\n

我应该保留其中一个还是更改两者的版本?除了 Gemfile.lock 之外我找不到ruby_dep其他地方

\n

小智 27

我遇到了同样的问题。

一种方法是删除Gemfile.lock并运行bundle install

这将删除所有现有引用ruby_dep并为您提供 gem 的全新安装。

  • 我认为删除 `Gemfile.lock` 是不明智的,至少在较大的生产代码库上是这样,因为这可能会导致其他版本中出现更多差异。而是运行 `bundle update ruby​​_dep Listen ... {它抱怨的任何其他包` (6认同)

Jac*_*cka 12

删除整个Gemfile.lock文件(如另一个答案中的建议)可能不是最好的主意。

首先,只需尝试更新ruby_dep您的依赖项:

bundle update ruby_dep
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说很有效,使用了@Jack Kinsella 之前的答案评论中的建议。我运行了“bundle update ruby​​_dep Listen”,解决了我的问题 (3认同)

小智 -3

注意~> 2.2,它表示 2.x,而不是 3。在此处阅读更多信息https://bundler.io/gemfile.html