4

複数のプラットフォームのバンドラーで宝石を販売する方法は?

私は Mac OSX で開発していますが、libv8 のようなネイティブの依存関係を持つ gem を ubuntu にデプロイすると、次の名前の gem を持つことができます

https://rubygems.org/gems/libv8/versions/3.11.8.13-x86_64-darwin-10 およびhttps://rubygems.org/gems/libv8/versions/3.11.8.13-x86_64-linux すべてのバージョンが表示されますhttps://rubygems.org/gems/libv8/versions

私のMacでは、バンドルパックを実行すると. 私が欲しい:
libv8-3.11.8.13-x86_64-darwin-10.gem と libv8-3.11.8.13-x86_64-linux.gem 同様に、宝石をアップグレードして削除するには、他のプラットフォームの宝石も削除して追加する必要があります

現在、Mac では libv8-3.11.8.13-x86_64-darwin-10.gem のみが追加されます

4

2 に答える 2

0

アプリの vendor/cache フォルダーにあるこの gem https://rubygems.org/gems/libv8/versions/3.11.8.13-x86_64-linuxをダウンロードします。 . 私もこの問題に遭遇しましたが、他の解決策は見つかりませんでした。

于 2013-01-25T15:07:31.253 に答える
0

これは非常に古い問題ですが、今日も同じ問題が発生しました。コマンドの下でこれを修正します。

bundle config specific_platform true
bundle lock --add-platform universal-darwin
bundle lock --add-platform x86_64-linux
bundle package --all-platforms

クイックテスト:

mkdir /tmp/test
cd /tmp/test
bundle config specific_platform true
bundle init
bundle lock --add-platform universal-darwin
bundle lock --add-platform x86_64-linux
bundle add google-protobuf
bundle cache --all-platforms
于 2021-03-22T15:53:47.647 に答える