【问题标题】:You have already activated unicorn 5.2.0, but your Gemfile requires unicorn 5.3.0您已经激活了 unicorn 5.2.0,但是您的 Gemfile 需要 unicorn 5.3.0
【发布时间】:2017-08-29 18:50:33
【问题描述】:

我有一个远程运行的应用程序,我刚刚将rails 升级到版本 4.2.8,它也升级了其他 gem。之后我跑了service unicorn restart,但是独角兽的日志给了我这个错误:

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

我试过gem uninstall unicorn -v 5.2.0,返回成功,然后gem install -v 5.3.0,也返回成功。之后,我运行了service unicorn restart,但错误仍然存​​在。

我注意到了bundle exec 的建议,但我不确定我应该在这个命令前面添加什么。

【问题讨论】:

    标签: ruby-on-rails ruby bundler unicorn


    【解决方案1】:

    尝试删除您的 gemfile.lock 文件,然后再次运行 bundle install ,这将从头开始重新填充它,这通常可以解决我的 gem 冲突。

    【讨论】:

    • 嘿,谢谢,那种工作。现在,当我尝试启动独角兽时,我得到了这个:master failed to start, check stderr log for details。我找不到unicorn.stderr.log 而不是unicorn.rb 配置文件(只有宝石出现)。我想我的大部分问题都源于那里。您对这个案例有什么建议吗?
    • 我从来没有使用过独角兽 :( 如果你输入 'bundle show unicorn' 它应该显示所有与该 gem 相关的文件的存储位置,但除此之外我无法提供帮助跨度>
    • 我不会删除并重建您的 gemfile.lock。这往往比它的价值更麻烦。
    【解决方案2】:

    这意味着在您的机器上运行的 unicorn 版本与您的应用程序中指定的版本不同。 service unicorn 可能指向安装在服务器/计算机上的独角兽,而不是指向您的独角兽应用程序版本,对吧?然后,当启动您的应用程序时,您的应用程序会尝试加载不同版本的 gem。

    您还可以在应用的上下文中运行 unicorn,例如 bundle exec unicorn - How to start rails server in production mode using unicorn and config file?

    【讨论】:

      【解决方案3】:

      如果您找到了解决方案,很好。如果没有,下一次,使用像 2.3.1@myapp 这样的独特 gemset 创建一个新的 rails 应用程序。 这样,当您部署到远程服务器时,您将避免这种类型的 gems 冲突。

      【讨论】:

        【解决方案4】:

        这可能是由于您的机器上有两个不同的宝石来源。

        如果您将 RVM 之类的东西与 gemset 一起使用,请确保您使用的是正确的 gemset。特别是,请确保您的 gem installgem uninstall 作用于应用程序特定的 gemset 而不是系统范围的 gem。您可以在https://rvm.io/gemsets 找到详细信息。

        Bundler 还会为每个应用程序生成一个单独的 gemset。因此,如果您使用捆绑程序,则必须通过在它们前面加上bundle exec(例如bundle exec rspec spec)来运行所有命令。如果您想从捆绑包中删除 gem,请将其从您的 Gemfile 中删除,然后运行bundle update gem_in_question(这也会更新您的 Gemfile.lock)。您可以在http://bundler.io/v1.14/guides/using_bundler_in_application.html#executing-commands---bundle-exec 找到更多信息。

        我希望这有助于解决您的问题。

        【讨论】:

          猜你喜欢
          • 2011-09-07
          • 2011-08-30
          • 1970-01-01
          • 2014-06-10
          • 1970-01-01
          • 2023-03-29
          • 2011-11-06
          • 2015-11-21
          • 2011-11-26
          相关资源
          最近更新 更多