9

Herokuにデプロイしたい単純なRailsアプリケーションがあります。以下のコマンドを実行すると

git push heroku master

以下のエラーメッセージが表示されます。

 Could not find multi_json-1.3.1 in any of the sources
 !
 ! Failed to install gems via Bundler.
 !
 ! Heroku push rejected, failed to compile Ruby/rails app

これが私のGemfileです

 gem 'rails', '3.2.3'
 gem 'pg'
 group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'therubyracer', :platform => :ruby
  gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
4

6 に答える 6

25

Gemfile.lockファイルを削除し、バンドルインストールを実行します。これは私のために働きます!

于 2012-04-20T08:43:26.087 に答える
1

これらのgemが利用可能であることを知っていたにもかかわらず、さまざまなgemで一連のエラーが発生しました(たとえばgem list -r <gem>、バージョンを含めて表示されました。rubygems.orgを参照すると、必要なバージョンが存在し、ヤンクされていなかったことが示されました)。ソースセットがありました(確かに6つの異なるソースを設定しました)。

私の問題はgit stashed、機能ブランチを離れる前に開発の最新情報を取得し、後でスタッシュをポップするのを忘れていたことでした。これは、変更を加えて変更.rvmrcをコミットしなかったために問題でした(本番環境よりも新しいルビーを使用するため)。やりました)。

.rvmrcプロジェクトにgemsetを指定したので、それを隠しておくと、大量のgemが欠落しているgemsetに対して突然バンドルされたことGemfile.lockになります。理由は、Bundlerが、gemがGemfile.lock既にインストールされているかどうかを想定していることを理解していませんが、そうではありません。リモートで検索しないでください。

ですから、他の誰かがこの信じられないほど苛立たしいコーナーケースに直面した場合に備えて、私はそれをここに書き留めると思いました。

于 2013-03-21T23:22:29.373 に答える
1

Capistranoを使用してデプロイを行っていて、不思議なことに「どのソースでもmulti_json-1.7.2が見つかりませんでした」というメッセージが表示された場合はrequire "bundler/capistrano"、が一番上にあることを確認してくださいconfig/deploy.rb

于 2013-03-25T02:34:38.327 に答える
0

私の場合、私は不足していました

source 'https://rubygems.org'

Gemfile。私の疑惑は、古いバージョンのバンドラーはソースが言及されていなくても動作できるが、新しいバージョンは動作できないということです。

于 2013-01-15T01:48:59.407 に答える
0

私にとってこれは、Pow(ローカルラックサーバー)が正しいRVMRubyバージョン/gemsetを使用していなかったことが原因でした。

以下を追加することで修正されました.powrc

# based on https://coderwall.com/p/pkj39a
if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".ruby-version" ] && [ -f ".ruby-gemset" ]; then
  source "$rvm_path/scripts/rvm"
  rvm use `cat .ruby-version`@`cat .ruby-gemset`
fi

ソース:https ://coderwall.com/p/pkj39a

于 2013-08-12T03:20:11.580 に答える
-1

次の手順で解決しました。

Removed Gemfile.lock
bundle install

問題の原因は、最初は私のGemfile.lockにmulti_json-1.3.1があることです。

現在、バージョンはmulti_json-1.3.2です。

于 2012-04-20T08:44:18.700 に答える