我目前正在尝试在我的Heroku应用程序中使用GitHub上托管的自定义/私有宝石,但是每当我尝试推送到Heroku时,它就会在捆绑宝石时挂起。
为了让私有gem工作,我一直在使用this method并创建了一个用于访问存储库的令牌。
所有在本地运行得非常好,我的bundle
命令可以起作用,但是当我推送到Heroku时,它会在获取自定义宝石时挂起。这是输出(敏感信息的审查):
Counting objects: 26, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 2.49 KiB, done.
Total 19 (delta 13), reused 0 (delta 0)
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.3.0.pre.5
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
Fetching gem metadata from https://rubygems.org/.......
Fetching gem metadata from https://rubygems.org/..
Updating git://github.com/rails/rails.git
Fetching https://<token>@github.com/<username>/<repo>.git
<hangs here with Heroku timeout error>
我似乎遇到了与this question和this question类似的问题,但我尝试了在这些问题上提出的两种解决方案都无济于事。
我正在使用edge-rails
所以我认为使用bundler 1.3.0.pre.5
可能是问题,因为我正在使用1.2.3
。强迫Heroku上的bundler
版本可能有效吗?另外我不确定为什么有两条Fetching gem metadata from https://rubygems.org/..
行...
万分感谢你的帮助,一直把头发拉出来。
答案 0 :(得分:3)
所以问题最终是git
Heroku使用的版本不支持使用令牌!一旦我在我的Gemfile中包含一个用户名/密码(对此我不满意,但我已经设置了一个特殊的协作者帐户,因此安全风险有所缩小......)它完美无缺!
特别感谢this question,我发现这帮助了我:)