【问题标题】:How can I ignore a gem source on Heroku?如何忽略 Heroku 上的 gem 资源?
【发布时间】:2017-12-11 11:01:26
【问题描述】:

我有一个 Rails 应用程序,其中包含一些用于本地测试的私有 gem;我不需要在 Heroku 上的生产环境中访问它们。它们作为源代码块加载到 gemfile 中,例如:

group :development, :test do
  source "https://myprivaterepo" do
    gem "mycustomgem", "~> 1.0"
  end
end

当我尝试部署到 Heroku 时,构建失败(“无法从 https://myprivaterepo 获取规范”),因为 Heroku 无法访问 gem 源。我设置了一个 BUNDLE_WITHOUT 配置变量来忽略开发和测试 gem,但这仍然不能阻止构建尝试从这个源获取 gem。我怎样才能防止这种情况,让 Heroku 完全忽略这些宝石及其来源?

使用 Ruby 2.2.4、Rails 4.2、Heroku-16 堆栈。

【问题讨论】:

    标签: ruby-on-rails ruby heroku rubygems


    【解决方案1】:

    试试这个:heroku config:set BUNDLE_WITHOUT="development:test"

    gem 'mycustomgem', source: "https://myprivaterepo.com" if ENV['RAILS_ENV'] != 'production'

    【讨论】:

    • 谢谢,我添加了一个配置变量,并且正在应用它 - 当我运行 git push heroku master 时,我可以在输出 running: bundle install --without development:test 中看到,但它并没有解决构建的问题失败,因为它无法从源中获取这些宝石。
    • 最后,我用 contidion 测试了你的源(主机),它无法从生产中访问,它是有效的
    猜你喜欢
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 2022-01-18
    相关资源
    最近更新 更多