新しいマシンを手に入れたばかりなので、新しいことに挑戦する機会を得ました。RVM は素晴らしく、私は gemsets を使用していますが、いくつかのブログ投稿を読んだ後、rbenv への切り替えを使用し、bundler を使用してRuby Rogues エピソード 45で概説されているように自分の gem を排他的に管理することにしました。
私はあまり共同作業をしません。共同作業をする場合は、通常、他の 1 人か 2 人と共同作業します。
バンドラーのドキュメントでは、次のコマンドを実行して gem をvendor/cache
ディレクトリにパッケージ化する機能について詳しく説明しています。
$ bundle package
$ bundle install --local
ソース管理にチェックインできる優れた非公開の宝石。クリーンなサーバーへの展開やコラボレーションを容易にすることでしょうか?
Gemfile
ただし、 andGemfile.lock
をソース管理にチェックインする場合、何が必要ですbundle package
か?
Ryan Mcgeary は2011 年初頭のこのブログ投稿でこのアプローチを提唱し、2010 年の別のブログ投稿で Yehuda Katz は次のように述べています。
バンドルされた gem を別の場所 (アプリケーション自体のディレクトリなど) にインストールしたい場合があります。これにより、各アプリケーションが独自の gem のコピーを持つことが保証され、追加レベルの分離が提供されます。
この分離は、gemset に非常に似ていると思います。システム gem の膨大なリストがある場合、アプリケーションで実際に使用されているのはどれかを知るのは難しいと想像できます。
では、gem をアプリケーションと一緒にパッケージ化しますか?
誰かがこれをやっていますか?この慣行は時代遅れですか?
アプリ内でジェムをバンドルすることのベスト プラクティスと利点/欠点は何ですか?