众所周知,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-mingw32
bundle update
是否有任何系统范围的方法来覆盖捆绑器的平台?.xxxrc 文件?配置文件?环境变量?甚至修改 bundler 的源代码?
PS我试图修改该PLATFORM
字段Gemfile.lock
但没有用。添加:platforms => 'ruby'
Gemfile 也无济于事(实际上任何标记为的 gem:platforms => 'ruby'
都不会安装在 Windows 上)...
谢谢!