如何在 Windows 上的 Ruby 2.0 中强制“捆绑更新”使用 :ruby 作为平台?

whi*_*oil 5 ruby rubygems bundler

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

我已经添加--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 文件?配置文件?ENV 变量?或者甚至修改bundler的源代码?

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

谢谢!