Rack 2.0.1需要Ruby> = 2.2.2

时间:2016-07-12 15:25:54

标签: ruby-on-rails ruby rack

我正在尝试运行"捆绑更新",但我不断收到错误消息:

An error occurred while installing rack (2.0.1), and Bundler cannot continue.
Make sure that `gem install rack -v '2.0.1'` succeeds before bundling.

然后我安装机架2.0.1:

sudo gem install rack -v 2.0.1
Successfully installed rack-2.0.1
Parsing documentation for rack-2.0.1
Done installing documentation for rack after 2 seconds
1 gem installed

然后我甚至跑了" rbenv rehash",然后我跑了#34;捆绑更新"再次出现相同的错误消息。如何让Bundler识别出新的宝石?

2 个答案:

答案 0 :(得分:3)

确保首先安装rbenv安装的ruby版本中的“bundler”。然后,检查该目录中的ruby版本。它应该是您从rbenv或rvm安装的那个。在这些之后,如果您要安装某些内容,请不要在sudo之前使用bundle。因为bundle来自rbenv ruby​​版本。如果rbenv rehash不起作用,只需重新启动bash并检查即可。

如果没有sudo的东西需要权限,您最有可能使用系统ruby安装的捆绑程序sudo gem install bundler

尝试在没有像gem install bundler这样的sudo的情况下重新安装捆绑包,然后重试。

即使不起作用,也请删除目录中的Gemfile.lock。删除Gemfile中提到的任何版本的机架(如果有)。只需拥有gem 'rack'之类的宝石名称,然后再次尝试bundle install。您可以使用sudo安装的gem已存储为系统ruby,而不是通过rbenv安装的gem。

答案 1 :(得分:0)

当您运行sudo install时,您的宝石很可能安装在不同的目录下。使用Rbenv或VRM时,不应使用sudo

首先,您可以尝试从系统宝石中卸载gem,并在没有sudo的情况下再次执行。

进入极端状态你可以用宝石完全重新安装你的rbenv(当它切换到RVM时,我个人觉得它更容易管理)。之后尝试在没有sudo的情况下再次捆绑安装所有内容,它应该可以工作。