5

我正在开发 Rails 5->6 更新。当我运行时bundle update,我们到达了 mini_racer,它需要 libv8-node。当 Bundler 尝试获取 libv8-node v. 15.14.0.1 时,它会尝试 install <our local mirror path>/gems/gems-repos/gems/libv8-node-15.14.0.1-x86_64-linux-musl.gem,这是不正确的(这是一个 Debian VM)并且服务器响应错误。gem install libv8-node工作得很好。

ruby-libv8-node 页面表明 Bundler 选择了错误的平台存在一个已知问题。追逐那个兔子洞,似乎有提议的解决方案,但还没有发布。

同时,是否有强制 Bundler 使用正确平台的解决方法?这是 Bundler 2.2.28 和 Ruby 2.6.6。

4

1 回答 1

6

根据自述文件,它说

如果发布的二进制文件不适合您,bundler 允许通过 force_ruby_platform 强制使用 ruby​​ 平台,该平台将从源代码编译。

所以请尝试

BUNDLE_FORCE_RUBY_PLATFORM=1 bundle install

或者BUNDLE_FORCE_RUBY_PLATFORM=1 bundle update rails

于 2021-10-06T13:50:37.543 回答