0

私はメインのRails開発プラットフォームとしてLinuxを使用していますが、RailsをインストールしてWindowsPCで動作させています。私のアプリはすべて2台のコンピューター間で同期されるため、Linuxでの変更はWindowsに反映されます。

Linuxではpostgresqlを使用したいのですが、Windowsではsqlite3を使用します。使用しているプラ​​ットフォームに基づいて、ロードする特定のgemセット(Gemfile)を区別する方法はありますか?

4

2 に答える 2

2

Bundler docs: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で異なるコードベースを使用したくないと確信しています。

とにかく、この質問を見てください 複数のdatabase.ymlが1つのアプリケーション

于 2012-08-21T09:35:12.047 に答える