您已经激活了机架1.6.0,但你的Gemfile需要机架1.6.4

问题描述 投票:13回答:5

类似problem with rack 1.3.2. You have already activated rack 1.3.2, but your Gemfile requires rack 1.2.3 - 试图在生产与彪马和Nginx的运行Rails(4.2)当我遇到You have already activated rack 1.6.0, but your Gemfile requires rack 1.6.4

bundle update rake也不rm Gemfile.lock && bundle install没什么帮助,我到目前为止唯一的解决办法是手动更改rack (1.6.4)在Gemfile.lock的rack (1.6.0)

ruby-on-rails nginx rack gemfile
5个回答
17
投票

您需要卸载机架的一个版本,它不是必需的。

做到这一点,请

gem uninstall rack -v 1.6.0

参考:How to force rack to work around the usual "You have already activated rack..." bug?


2
投票

一个使用binstubs经历Rails开发highly recommends。它安装方式:

bundle install --binstubs

并通过相对路径运行它:

./bin/rails server

或者什么是最值得推荐的更新路径,而忘记了捆绑的问题:

export PATH="./bin:$PATH"
rails server

1
投票

像这样运行它:bundle exec rails s。这将使用设置从您Gemfile.lock的


1
投票

如果您正在使用本地或全局的宝石多个项目可能会出现这些问题。为什么不为每个项目创建seprate宝石。

为此,您可以使用RVM

创建新宝石

rvm gemset create new_test

rvm gemset use new_test

bundle install

0
投票

你可以简单地运行下面的命令来获取安装在服务器上的最新机架解决这个问题:

gem install rack
© www.soinside.com 2019 - 2024. All rights reserved.