Ruby on rails “如何解决heroku”;更改Gemfile后,您正试图以部署模式安装;错误?
我知道这个问题已经出现在SA上了——但是,对我来说,没有什么能解决这个问题。我知道这只是表明我的gemfile和gemfile.lock文件不同步。删除gemfile.lock文件并重新绑定可以解决此问题。我已经尝试了很多尝试来调整我的文件、提交和推送——但是,没有任何效果。任何熟悉heroku堆栈跟踪的人都可以提供一些指导?这对我来说突然改变了 尝试:Ruby on rails “如何解决heroku”;更改Gemfile后,您正试图以部署模式安装;错误?,ruby-on-rails,git,heroku,bundler,Ruby On Rails,Git,Heroku,Bundler,我知道这个问题已经出现在SA上了——但是,对我来说,没有什么能解决这个问题。我知道这只是表明我的gemfile和gemfile.lock文件不同步。删除gemfile.lock文件并重新绑定可以解决此问题。我已经尝试了很多尝试来调整我的文件、提交和推送——但是,没有任何效果。任何熟悉heroku堆栈跟踪的人都可以提供一些指导?这对我来说突然改变了 尝试: - remove gemfile.lock and bundle install - update bundler - remove olde
- remove gemfile.lock and bundle install
- update bundler
- remove older versions of multiple installed gems
-
git push heroku
Counting objects: 41, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (40/40), done.
Writing objects: 100% (41/41), 5.64 KiB | 0 bytes/s, done.
Total 41 (delta 27), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-2.3.1
remote: -----> Installing dependencies using bundler 1.13.6
remote: Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
remote: The git source `git://github.com/rails/sprockets-rails.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: The git source `git://github.com/sinatra/sinatra.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: The git source `git://github.com/jonatack/will_paginate.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: The git source `git://github.com/kesha-antonov/simple_form.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: The git source `git://github.com/sonalkr132/spring.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: You are trying to install in deployment mode after changing
remote: your Gemfile. Run `bundle install` elsewhere and add the
remote: updated Gemfile.lock to version control.
remote: You have added to the Gemfile:
remote: * source: git://github.com/jonatack/will_paginate.git (at master)
remote: * source: git://github.com/kesha-antonov/simple_form.git (at rails-5-0)
remote: * source: git://github.com/rails/sprockets-rails.git (at master)
remote: * source: git://github.com/sinatra/sinatra.git (at master)
remote: * source: git://github.com/sonalkr132/spring.git (at bundler-dep)
remote: You have deleted from the Gemfile:
remote: * source: https://github.com/jonatack/will_paginate.git (at master@3c86149)
remote: * source: https://github.com/kesha-antonov/simple_form.git (at
remote: rails-5-0@a1561c9)
remote: * source: https://github.com/rails/sprockets-rails.git (at master@6fa795a)
remote: * source: https://github.com/sinatra/sinatra.git (at master@63e81bc)
remote: * source: https://github.com/sonalkr132/spring.git (at bundler-dep@0caed19)
remote: Bundler Output: The git source `git://github.com/rails/sprockets-rails.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: The git source `git://github.com/sinatra/sinatra.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: The git source `git://github.com/jonatack/will_paginate.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: The git source `git://github.com/kesha-antonov/simple_form.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: The git source `git://github.com/sonalkr132/spring.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote: You are trying to install in deployment mode after changing
remote: your Gemfile. Run `bundle install` elsewhere and add the
remote: updated Gemfile.lock to version control.
remote:
remote: You have added to the Gemfile:
remote: * source: git://github.com/jonatack/will_paginate.git (at master)
remote: * source: git://github.com/kesha-antonov/simple_form.git (at rails-5-0)
remote: * source: git://github.com/rails/sprockets-rails.git (at master)
remote: * source: git://github.com/sinatra/sinatra.git (at master)
remote: * source: git://github.com/sonalkr132/spring.git (at bundler-dep)
remote:
remote: You have deleted from the Gemfile:
remote: * source: https://github.com/jonatack/will_paginate.git (at master@3c86149)
remote: * source: https://github.com/kesha-antonov/simple_form.git (at
remote: rails-5-0@a1561c9)
remote: * source: https://github.com/rails/sprockets-rails.git (at master@6fa795a)
remote: * source: https://github.com/sinatra/sinatra.git (at master@63e81bc)
remote: * source: https://github.com/sonalkr132/spring.git (at bundler-dep@0caed19)
remote: !
remote: ! Failed to install gems via Bundler.
remote: !
remote: ! Push rejected, failed to compile Ruby app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to xxxxxx.
remote:
To git@heroku.com:xxxxxx.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:xxxxxx.git'
大多数答案只是指示删除gemfile.lock并运行bundle安装。但是,有一条关于https的新消息突然出现:
The git source `X` uses the `git` protocol, which transmits data without
encryption. Disable this warning with `bundle config git.allow_insecure true`,
or switch to the `https` protocol to keep your data secure.
在消息提示后,在~/.bundle/config中创建了一个新的配置文件。这个文件引起了heroku的极大不满——删除它让我重新开始工作
不幸的是,heroku的堆栈跟踪并没有提供解决这个问题的真正方向。您可能会看到“更改Gemfile后尝试在部署模式下安装”消息的原因有很多,heroku没有提供任何帮助来帮助您找出不满意的原因。要强制heroku使用
https://
而不是git://
协议,请添加BUNDLE\u GITHUB\u https
(注意双下划线)作为环境变量,并将其设置为true
(在heroku应用程序的仪表板中Config Vars
部分的Settings
选项卡下)