如何在 bundler 中为多个平台供应 gems?

我正在 Mac OSX 上开发,但在 ubuntu 上部署
具有像 libv8 这样的 native 依赖项的 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 上,当我运行 bundle pack 时。我想:
libv8-3.11.8.13-x86_64-darwin-10.gem 和 libv8-3.11.8.13-x86_64-linux.gem
同样升级和删除 gem 也必须删除和添加其他平台的 gem

现在在 Mac 上它只添加 libv8-3.11.8.13-x86_64-darwin-10.gem

最佳答案

在您的应用程序的 vendor/cache 文件夹中下载这个 gem https://rubygems.org/gems/libv8/versions/3.11.8.13-x86_64-linux。我认为您不会经常更新这个 gem,这是一个非常正常的解决方案。我也遇到了这个问题,没有找到其他解决办法。

关于ruby-on-rails - 如何在 bundler 中为多个平台供应 gems,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14518069/

10-11 08:14