0

カピストラーノを使用して展開しようとすると、多くの問題が発生します。どのソースにもない libv8 に関するエラーが発生し続けます。

Could not find libv8-3.11.8.13 in any of the sources

ここhttps://github.com/cowboyd/libv8/issues/56は、「パッケージを使用しない」ことができることを示しています。これにより、デプロイされたアプリはバンドル パッケージを使用しません。

バンドルパッケージに含まれていないgemをデプロイして使用するにはどうすればよいですか? 代わりに、デプロイするたびにバンドルを実行するか、Gemfile が変更されたときにバンドルを実行するだけにしたいです。

4

2 に答える 2

1

これが私がそれを機能させた方法です: https://github.com/cowboyd/libv8/issues/77#issuecomment-12711634

Mac で開発を行っており、Red Hat サーバーにデプロイしています。Rails には OS、プラットフォーム固有のバージョンの gem が必要なようです。そのため、開発マシン (mac) でバンドルを実行し、capistrano を使用して実稼働サーバー (red hat) にデプロイすると、機能しません。

私がやったことは...

  • http://rubygems.org/gems/libv8から必要な libv8 gem を手動でダウンロードします。
  • ダウンロードした gem を vendor/cache フォルダーにコピーします
  • 次に、アプリをデプロイします (cap deploy:cold)

そしてそれはうまくいきました。

于 2013-05-21T14:53:37.970 に答える
0

あなたの質問を正しく理解できれば、バンドル カピストラーノ タスクが欠落しているように思えます。詳細については、 https://github.com/carlhuda/bundler/blob/master/lib/bundler/capistrano.rbを参照してください。デプロイごとにバンドルが実行されるように、capistrano deploy.rb ファイルに「'bundler/capistrano' を要求する」ことができるはずです。

于 2013-05-20T20:50:27.987 に答える