4

众所周知,Windows 上的 ruby​​ 2.0 存在一些问题,导致我们必须安装platform=ruby版本而不是platform=x86-mingw32版本 gem。

我已经加--platform=ruby进去了.gemrc。现在,当我使用 安装 gems 时gem install / update,它将安装ruby版本。但这似乎不影响捆绑器。当我尝试使用bundle install / update时,它仍然会安装x86-mingw32版本。

如果x86-mingw32我的系统中存在版本(甚至ruby版本也存在),bundle exec将使用它,那么我的应用程序将失败。许多库都有这样的问题,例如 do_sqlite3、http_parser.rb、bcrypt-ruby 等。

现在我几乎每次执行时都必须手动gem uninstall删除版本。x86-mingw32bundle update

是否有任何系统范围的方法来覆盖捆绑器的平台?.xxxrc 文件?配置文件?环境变量?甚至修改 bundler 的源代码?

PS我试图修改该PLATFORM字段Gemfile.lock但没有用。添加:platforms => 'ruby'Gemfile 也无济于事(实际上任何标记为的 gem:platforms => 'ruby'都不会安装在 Windows 上)...

谢谢!

4

0 回答 0