0

我将 Linux 作为我的主要 Rails 开发平台,但我也安装了 Rails 并在我的 Windows 电脑上运行。我的所有应用程序都在两台计算机之间同步,因此 Linux 上的更改将反映在 Windows 上。

我想在 Linux 上使用 postgresql,但在 Windows 上使用 sqlite3。有没有办法根据我使用的平台区分某些要加载的宝石集(Gemfile)?

4

2 回答 2

2

Bundler 文档 确实提到了:platform可用于指定要在特定平台上安装哪些 gem 的选项。

还有另一个解决方案(我从其他 Ruby 开发人员和在线教程中学到)是将您的 gemset 包装在一个组中,例如:

group :option do
  gem 'gem1'
  gem 'gem2'
  ...
end

然后运行:

bundle install --without option

运行此命令后,bundler 将安装选项组中未列出的 gem。您可以将选项设置为 windows 或 linux。从而解决了区分某些平台的方法。

快乐编码!

于 2012-08-20T21:29:30.853 回答
0

我建议在两台机器(linux 和 windows)上使用 postgresql,它会给你同样的开发者体验。例如,如果您想使用特定于 smth 的 postgresql,则在 windows/sqlite 上运行该代码时应考虑这一点。我很确定您不想为 windows 和 linux 提供不同的代码库。

无论如何,看看这个问题 Multiple database.yml but one application

于 2012-08-21T09:35:12.047 回答