我使用Linux作为主要的Rails开发平台,但我也安装了Rails并在我的Windows pc上运行。我的所有应用程序都是在两台电脑之间同步的,所以Linux上的变化也会在Windows上反映出来。
我想在Linux上使用postgresql,但在Windows上使用sqlite3。有没有办法根据我使用的平台来区分特定的gem集来加载(Gemfile)?
发布于 2012-08-21 05:29:31
Bundler docs提到了:platform选项,您可以使用该选项指定要在特定平台上安装的gem。
还有另一种解决方案(我从其他Ruby开发人员和在线教程中学到的)是将您的gemset封装在一个组中,例如:
group :option do
gem 'gem1'
gem 'gem2'
...
end然后运行:
bundle install --without option运行此命令后,bundler将安装选项组中未列出的gem。您可以将选项设置为windows或linux。从而解决了区分特定平台的问题。
祝你编码愉快!
发布于 2012-08-21 17:35:12
我建议在两台机器(linux和windows)上都使用postgresql,它会给你相同的开发者体验。例如,如果您想使用特定于smth postgresql的代码,那么在windows/sqlite上运行该代码时应该考虑这一点。我很确定你不想让windows和linux有不同的代码库。
不管怎样,看一下这个问题Multiple database.yml but one application
https://stackoverflow.com/questions/12045239
复制相似问题