我想运行一个旧版 Rails 应用程序作为端点与其进行交互。我不允许更新它,但只需要设置它
其文档需要
ruby -v 2.5.3
并且是 bundled with 2.4.22
我只使用
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]
成功安装了asdf
: /home/eight/.asdf/shims/ruby
但是我无法安装
bundler 2.4.22
,因为它输出以下内容:
There are no versions of bundler (= 2.4.22) compatible with your Ruby & RubyGems
bundler requires Ruby version >= 2.6.0. The current ruby version is 2.5.0.
冗长 它表明依赖 api 已被弃用
HEAD https://api.rubygems.org/api/v1/dependencies
404 Not Found
GET https://api.rubygems.org/prerelease_specs.4.8.gz
200 OK
GET https://api.rubygems.org/specs.4.8.gz
connection reset after 1 requests, retrying
ERROR: Could not find a valid gem 'bundler' (= 2.4.22), here is why:
Unable to download data from https://rubygems.org/ - no such name (https://api.rubygems.org/specs.4.8.gz)
GET https://api.rubygems.org/latest_specs.4.8.gz
GET https://api.rubygems.org/prerelease_specs.4.8.gz
但是可以成功安装
bundler -v 2.3.27
但仍然无法运行bundle _2.3.27_ install
,因为它正在输出:
ERROR: Error installing bundler:
There are no versions of bundler (= 2.4.22) compatible with your Ruby & RubyGems
bundler requires Ruby version >= 2.6.0. The current ruby version is 2.5.0.
但是我已经安装了捆绑包 2.3.27,但我也无法找到 gem 捆绑程序:
$ :bundler -v
/usr/bin/env: ‘ruby3.0’: No such file or directory
简而言之,我想安装与该项目兼容的 gem 捆绑程序,2.4.22 或 2.3.27,并且能够与使用 asdf 安装的 ruby 一起使用它。
我尝试安装推荐的捆绑器
2.4.22
但失败了,所以我选择了更接近的2.3.27
,但我无法使用它,甚至找不到它。
我也尝试过在全球范围内制作asdf ruby,但我的系统中只安装了ruby。
最后查看 stackoverflow 上的匹配问题。
我遇到了同样的问题。删除您的
Gemfile.lock
,看看是否仍然出现错误。
确实,
Gemfile.lock
可能会导致某些gem指定ruby3.0
,从而导致错误。