你已经激活了 rack 1.6.0,但是你的 Gemfile 需要 rack 1.6.4。在你的命令前加上 `bundle exec` 可以解决这个问题。 (宝石::加载错误)

Posted

技术标签:

【中文标题】你已经激活了 rack 1.6.0,但是你的 Gemfile 需要 rack 1.6.4。在你的命令前加上 `bundle exec` 可以解决这个问题。 (宝石::加载错误)【英文标题】:You have already activated rack 1.6.0, but your Gemfile requires rack 1.6.4. Prepending `bundle exec` to your command may solve this. (Gem::LoadError) 【发布时间】:2015-11-21 08:54:59 【问题描述】:

我正在使用 Elastic Beanstalk,但我的日志中出现此错误-

您已经激活了 rack 1.6.0,但是您的 Gemfile 需要 rack 1.6.4。在您的命令前添加 bundle exec 可以解决此问题。 (Gem::LoadError)

我已经看过所有相关的问题 (Related Question),但对我没有任何帮助。 当我做gem list | grep rack 我得到-

机架 (1.6.4) 机架测试(0.6.3)

这意味着我没有安装 rack(1.6.0),这在我安装 gem uninstall rack -v 1.6.0 时得到确认,它给了我-

错误:执行 gem 时 ... (Gem::InstallError) gem "rack" 没有安装

我该怎么办?我应该卸载机架 1.6.4 吗? (这给了我一个警告,我不会有任何机架版本)

【问题讨论】:

你的 Gemfile.lock 里写了什么?我会运行一个捆绑更新机架。也许你把它锁定在 1.6.0? 我尝试了捆绑更新机架,它说'使用机架 1.6.4'(以及所有其他 gem),这是我的 gemfile.lock textuploader.com/al5o1。它有 8 个不同的时间,我不知道它到底是什么意思。 我会尝试删除您的 Gemfile.lock 并再次运行 bundle。某处存在依赖性问题。如果做不到这一点,我会回滚到机架 1.6.0,除非你真的需要 1.6.4... 我删除了我的 Gemfile.lock 并运行了 bundle,没有帮助。我回滚到 1.6.0,但是当我在那之后进行捆绑安装时,它也会安装 1.6.4。那么我有两个版本。 我认为它的发生是因为我的 gemfile 中有 gem unicorn 并且 gem 依赖于 rack >= 0,这就是为什么安装了两个版本但我不知道为什么它只显示 1 个版本对我来说以及如何解决它 【参考方案1】:

我删除了我的 gemlock 文件并将我的应用推送到生产环境。然后我进入我的根应用程序托管文件夹。并运行以下命令,它使我的应用程序正常工作

gem install rack

【讨论】:

【参考方案2】:

似乎正在对 gemfile 进行某种嗅探。尝试将您的 ruby​​ 服务器显式添加到 gemfile 中,例如

gem 'puma'

这说服了 EB 在我的案例中加载 Gemfile 中指定的机架。

【讨论】:

是的,这也对我有用!我绞尽脑汁想弄清楚如何让 EB 使用我想要的机架版本。我想您也可以在 Gemfile 中指定机架版本?我需要 puma,所以这行得通。

以上是关于你已经激活了 rack 1.6.0,但是你的 Gemfile 需要 rack 1.6.4。在你的命令前加上 `bundle exec` 可以解决这个问题。 (宝石::加载错误)的主要内容,如果未能解决你的问题,请参考以下文章

新买的笔记本电脑怎样激活windows

我们无法在此设备上激活windows,因为无法连接到你的组织的激活服务器。请确保已连接到你的组织服务器,然后重试。如果仍存在激活问题,请联系组织的支持人员,错误代码:ox80070078

激活服务器确定指定的产品密钥被阻止

用了激活码,并且提示我激活成功。还是说我许可证到期。啥意思

win10密钥被卸载了,怎么办,现在变成尚未激活了

Ruby on Rails:无法加载rack / handler /