4

社内で作成した gem を使用するプロジェクトに取り組んでいます。rubygems.org や github ではホストされていません。しかし、リポジトリとローカル マシンのパスにはそれがあります。

Gemfile には、次のようなものがあります。

gem "our-custom-gem", :path => "/path-to/our-custom-gem"

jRuby を使用してデプロイするために、warbler gem を使用して .war ファイルを作成できるように、すべての gem をパッケージ化しようとしています。

「bundle install」や「bundle install --local」などを実行して、すべての gem が確実にインストールされるようにしたいと考えています。次に、Gemfile で指定されたすべての依存関係をバンドラーに取得させ、「bundle package」コマンドを使用してそれらを vendor/bundle に入れます。

しかし、このリンク (http://gembundler.com/man/bundle-package.1.html) に基づくと、バンドラーは :path または :git をソースとして指定した gem をパッケージ化できないようです。

誰かがこれを回避する方法を見つけましたか?

ローカルにあり、git リポジトリの一部ではない、または ruby​​gems.org で利用可能な gem を「バンドル」するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

2

速報!

Bundler 1.2 以降、 bundle package コマンドは .gem ファイルに加えて :git および :path の依存関係もパッケージ化できます。これは、 --all オプションを使用して明示的に有効にする必要があります。--all オプションは一度使用すると記憶されます。

ドキュメント: http://gembundler.com/man/bundle-package.1.html

于 2012-09-24T09:55:25.440 に答える
0

このプルリカーストから判断すると、1.1で計画されている機能です。

ただし、コア開発者の1人がこの回避策を提供しました。

cd vendor/git
git clone git://github.com/foo/foo.git

次に、Gemfileで、gem "foo"、:path => "vendor / git/foo"を実行します。

このブランチの問題を修正するためのいくつかの作業がありました。

幸運を!

于 2011-09-01T09:31:30.380 に答える