0

我正在尝试在我的 ubuntu 16.04 机器上设置 redmine,并且正在完成本教程。我还应该说几个月前我试图安装 redmine,遇到了一些乘客/phusion 问题并将其放在一边。所以,我开始四处搜索,发现了链接的教程。

我到了安装乘客和 NGINX 步骤并收到以下错误:

Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    rails (~> 4.2.5) was resolved to 4.2.6, which depends on
      bundler (< 2.0, >= 1.3.0)

  Current Bundler version:
    bundler (2.0.2)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?

Could not find gem 'bundler (< 2.0, >= 1.3.0)', which is required by gem 'rails
(~> 4.2.5)', in any of the sources.

然后我安装了 1.17.1 版,通过这个 q 的答案。但我仍然有同样的问题;检查捆绑器版本时,我得到了这个:

$ gem list bundler

*** LOCAL GEMS ***

bundler (default: 2.1.4, 1.17.1)
bundler-unload (1.0.2)
rubygems-bundler (1.4.5)

所以我想将新版本作为默认删除,我发现这个 q指示我查看 gems/2.7.0/specifications/default/ 目录。但是当我查看该目录时,我没有看到任何预期的 gemspec 文件,我只看到了这个:

~/.rvm/gems/ruby-2.7.0/specifications/default$ dir -lah
total 8.0K
drwxrwxr-x 2 jason jason 4.0K Jul 25 10:30 .
drwxrwxr-x 3 jason jason 4.0K Jul 25 10:30 ..

父目录的内容是:

~/.rvm/gems/ruby-2.7.0/specifications$ ls -lh
total 16K
-rw-rw-r-- 1 jason jason 2.5K Jul 25 10:26 bundler-1.17.1.gemspec
drwxrwxr-x 2 jason jason 4.0K Jul 25 10:30 default
-rw-rw-r-- 1 jason jason 4.4K Jul 25 10:28 rubygems-update-   3.1.4.gemspec

根据下面的评论,我确定了默认规范的位置

$ irb
2.7.0 :001 > Gem.default_specifications_dir
 => "/usr/share/rvm/rubies/ruby-  2.7.0/lib/ruby/gems/2.7.0/specifications/default" 
2.7.0 :002 > 

切换到该目录时,有很多 gemspecs。寻找捆绑器,我发现:

$ ls -al | grep bundler
-rw-rw-r-- 1 jason rvm 15100 Jul 25 10:30 bundler-2.1.4.gemspec

我将其移至父文件夹,注销并重新登录,但运行时仍然出现原始错误

sudo apt install -y nginx-extras passenger
4

1 回答 1

0

本教程指定Ruby 2.2.3目前不支持的内容,看起来您正在使用Ruby 2.7.0旧版本的 Rails。看起来Redmine 现在是第 4 版,本教程让您下载 3.4 版的 tarball。

尝试按照此处的 Redmine 安装说明进行操作,看看是否适合您。

无论如何,如果您确实需要修复 Bundler 版本控制问题,请打开您的项目Gemfile并通过输入更改 Bundler 版本gem 'bundler', '~> 1.17.1'

再次运行bundle install后,您可以在文件底部验证 Bundler 版本Gemfile.lock

BUNDLED WITH 1.17.1

于 2020-07-26T21:10:17.053 回答