cap production deploy
を実行しようとすると、次のエラーが表示されます。
DEBUG [dc362284] Bundler::GemNotFound: Could not find json-1.8.1.gem for installation
DEBUG [dc362284] An error occurred while installing json (1.8.1), and Bundler cannot continue.
DEBUG [dc362284] Make sure that `gem install json -v '1.8.1'` succeeds before bundling.
エンコーディングエラーを削除するためにRuby 2.1.0にアップグレードしたよりも、この展開が機能していたことに注意することが重要です。ローカルでアップグレードしましたが、うまくいきました。 rvm install 2.1.0
とrvm use 2.1.0
を実行した後、このRubyアップグレードを反映するように.Ruby-version
ファイルを変更しました。
bundle install
コマンドはローカルで機能しますが、宛先サーバーにsshしてこのコマンドを実行すると、上記と同じエラーが生成されます。
gem list
を実行すると、gemのリストにこれが表示されます。
...
jquery-Rails (3.0.4)
json (1.8.1)
less (2.3.2)
...
推奨されるソリューションgem install json -v '1.8.1'
をローカルおよび宛先サーバーで試すと、次の出力が得られます。
Building native extensions. This could take a while...
Successfully installed json-1.8.1
Parsing documentation for json-1.8.1
Done installing documentation for json after 0 seconds
1 gem installed
Gemがインストールされているようです。なんでこんなことが起こっているの?どうすれば解決できますか?どんな助けも大歓迎です。
だからこれについて半日後、質問を投稿した直後に私は答えを見つけました。 Bundler 1.5.0には、デフォルトのgemを ここで参照 として認識しないというバグがあります
解決策は、gem install bundler -v '= 1.5.1'
を使用してbundler 1.5.1に更新することでした
$ bundle update json
$ bundle install
このコマンドを実行すると、すべてが正常になります
Sudo apt-get install libgmp-dev
macOS Sierraで、Rubyバージョンが2.4.0の場合。Rubyバージョンはjson 1.8.3と互換性がありません。
Gemfileに次の行を追加してみてください:
gem 'json', github: 'flori/json', branch: 'v1.8'
これは私のために働く!
この問題を解決するには、単に次を実行します:
bundle update
バンドラーのバージョンが更新されます。次に実行します:
bundle install
あなたの問題は解決されます。解決策はよく説明されていますここ。
私は解決策を見つけました こちら 。 jsonバージョン1.8.1とRuby 2.2.3に問題があるため、json 1.8.3バージョンをインストールしてください。
gem install json -v1.8.3
試してみてください
$ Sudo gem install json -v '1.8.2'
私の場合(Ubuntu 14.04)、それは直接動作せず、これをしなければなりませんでした:
$ Sudo apt-get install Ruby-dev
そして、gemをインストールして続行できます。次の方法で修正されたもう1つの問題がありました。
$ Sudo apt-get install libsqlite3-dev
希望は助けます。
すでに新しいバージョンのbundlerを使用しているため、推奨される回答が役に立たなかった場合。私のために働いた解決策を試してください。
ベンダーフォルダー内のすべてを削除します。 gemfileに行を追加します
gem 'json', '1.8.0'
次に-bundle update json
を実行します。
これは1.8.1の問題のようですので、1.8.0に戻るとうまくいきました。
プロジェクトをローカル開発ボックス(OSX 10.6)で実行し、SinatraとPostgresql(activerecord経由)を使用して、rvm'd Ruby 2.1で実行しようとすると、このエラーが発生しました。私はここに答えを見つけました: https://github.com/wayneeseguin/rvm/issues/2511
私の 正確な問題 (ログエントリの最初のブロックの後):
Gemのネイティブ拡張を構築しようとするとエラーが発生します
answer :
rvm再インストール2.1.0 --disable-binary
説明 :
OSXにはパッケージマネージャーがないため、すべてのライブラリをユーザーが手動でインストールする必要があります。これにより、バイナリを動的にリンクすることは事実上不可能になり、(擬似)静的にリンクされたバイナリに問題があることがわかります。
完全を期すために、私は最初にrvm(rvm get head
)を更新するのを忘れていました。これにより、他のエラーが発生しましたが、--disable-binary
フラグが必要になりました。
bundle update json
。通過するのに役立ちました。
gem install json
を使用するだけでなく、bundle install
を使用してjson gemをインストールしようとすると、ERROR: Failed to build gem native extension.
が得られました。
apt-get install Ruby-dev
トリックをしました
OS Xの場合、coreutilsを持っていることを確認してください
$ brew install coreutils
$ bundle
これは、Ruby 2.xとともにインストールされたデフォルトのgemを認識しないBundlerのバグのようです。最新バージョンのbundler(1.5.3)を使用しても、まだ問題が発生しました。
1つの解決策は、デフォルトのgemspecディレクトリからjson-1.8.1.gemspecを単純に削除することです。
rm ~/.rubies/Ruby-2.1.0/lib/Ruby/gems/2.1.0/specifications/default/json-1.8.1.gemspec
これを実行した後、Bundlerはgemを見つけるのに問題はないはずです。 chrubyを使用していることに注意してください。他のRubyマネージャーを使用している場合、それに応じてパスを更新する必要があります。
バンドルはjson -v '1.8.1'のインストールに失敗し、Gemfile.lockを削除してバンドルを再度実行すると、この問題は解決しました。
私はCヘッダーソリューションが不足していたXcode用にダウンロードすることでした、これが最良の方法です。
xcode-select --install
それが役に立てば幸い。
Jsonの最新バージョンをインストールしました。
gem install json
次に、行json(1.8.1)をGemfile.lockから削除して、
bundle install
そして、Gemfile.lockファイルは、エラーなしでjson(1.8.3)を使用します
MacOS Sierraの場合:
Rails(v1.15.3
)プロジェクトでbundler(v4.2
)を使用すると、このエラーが発生しました。私にとっての解決策はgem uninstall bundler -v '1.15.3'
とgem install bundler -v '1.14.6'
です。
私にとって、前述の回答のいくつかは、視点を理解するのに役立ちましたが、それらは私の問題を解決しませんでした。
これが私が問題を解決するためにしたことです。
Bundler -v
コマンド)。バージョン1.12.5をインストールしましたgem install bundler -v '1.11.2'
を使用)Rubyバージョンを1.9から2.2に rvm で切り替えてくれました