1

出力:

Counting objects: 96, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (73/73), done.
Writing objects: 100% (73/73), 7.87 KiB | 0 bytes/s, done.
Total 73 (delta 56), reused 0 (delta 0)

-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.3.2
       Fixing nokogiri install. Clearing bundler cache.
       See https://github.com/sparklemotion/nokogiri/issues/923.
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
       You are trying to install in deployment mode after changing
       your Gemfile. Run `bundle install` elsewhere and add the
       updated Gemfile.lock to version control.
       You have added to the Gemfile:
       * postmark-rails (~> 0.5.2)
       You have deleted from the Gemfile:
       * postmark-rails
       Bundler Output: You are trying to install in deployment mode after changing
       your Gemfile. Run `bundle install` elsewhere and add the
       updated Gemfile.lock to version control.


       You have added to the Gemfile:
       * postmark-rails (~> 0.5.2)

       You have deleted from the Gemfile:
       * postmark-rails
 !
 !     Failed to install gems via Bundler.
 !

 !     Push rejected, failed to compile Ruby/Rails app

Auto packing the repository for optimum performance.
To git@heroku.com:sutra-staging.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:sutra-staging.git'
Everything up-to-date

Gemfile.lockはバージョン管理中です。

4

2 に答える 2

5

あなたGemfile.lockはバージョン管理されていると言っていますが、エラーメッセージは がGemfile.lock一致しないと言っていますGemfile

bundle installローカルで変更をコミットする必要がありますGemfile.lock

于 2013-08-31T16:09:24.820 に答える
3

Gemfile を変更しましたが、Bundler を使用してローカルで gem を更新していません。これは、GemfileファイルとGemfile.lockファイルが同期していないことを意味します。

これを修正するには、 を実行bundle installして変更をコミットし、Heroku に再度プッシュします。postmark-railsこれにより、追加したgemがインストールされ、更新され、Gemfile.lockすべてが再び同期されます。

混乱したかもしれないgem installのは、Bundler が認識している gem を更新しないで gem をインストールすることです。Bundler の仕事はプロジェクトの gem を管理することなので、新しい gem を追加するときはいつでも、Bundler を実行して物事を更新してください。

于 2013-08-31T16:49:28.547 に答える