回答:
私はあなたがこれを行うことができると信じています:
gem "foo", path: "/path/to/foo"
spring stop
に見える場合は、本当に問題かどうかを確認してください。
パスを指定するだけでなく(ジミーが述べたように)、次の構成オプションを使用することによってのみ、Bundlerに環境のローカルgemを使用させることもできます。
$ bundle config local.GEM_NAME /path/to/local/git/repository
これは、2つのGem、またはGemとRailsアプリを並べて開発する場合に非常に役立ちます。
ただし、これは依存関係にすでにgitを使用している場合にのみ機能することに注意してください。次に例を示します。
# In Gemfile
gem 'rack', :github => 'rack/rack', :branch => 'master'
# In your terminal
$ bundle config local.rack ~/Work/git/rack
ドキュメントに見られるように。
BUNDLE_PATH
(配布用のパッケージのビルド)を使用しているため、これに問題があります。あなたが提案したこと、またはジミーの答えをするとき、それはを行うだけでusing
、実際には私のBUNDLE_PATH
フォルダにインストールされません。私はこれを理解することができませんでした、助けはありますか?
bundle config --delete local.GEM_NAME
bundle config disable_local_branch_check true
、Bundlerがブランチについて文句を言います。ただし、チェックはに入る不正なコミットを停止することになっているため、これには注意してくださいGemfile.lock
。ここにドキュメント:bundler.io/v1.12/git.html
作業している場合は、gitでローカルgemを参照することもできます。
gem 'foo',
:git => '/Path/to/local/git/repo',
:branch => 'my-feature-branch'
次に、それが変更された場合、私は実行します
bundle exec gem uninstall foo
bundle update foo
しかし、誰もがこれらの2つのステップを実行する必要があるかどうかはわかりません。
bundle uninstall <gem> && bundle install
、すべての変更をアプリに反映するには
Railsプロジェクトでローカルgemリポジトリを使用するには、以下の手順に従います。
gemフォルダーがgitリポジトリーであるかどうかを確認します(コマンドはgemフォルダーで実行されます)
git rev-parse --is-inside-work-tree
リポジトリパスの取得(コマンドはgemフォルダーで実行されます)
git rev-parse --show-toplevel
Railsアプリケーションのローカルオーバーライドの設定
bundle config local.GEM_NAME /path/to/local/git/repository
GEM_NAME
あなたの宝石の名前はどこですか/path/to/local/git/repository
で、コマンドの出力はポイントです2
アプリケーションGemfile
に次の行を追加します。
gem 'GEM_NAME', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'
実行bundle install
すると、次のようになります。
Using GEM_NAME (0.0.1) from git://github.com/GEM_NAME/GEM_NAME.git (at /path/to/local/git/repository)
GEM_NAME
あなたの宝石の名前はどこ/path/to/local/git/repository
からですか2
最後にbundle list
not not gem list
を実行すると、次のようになります。
GEM_NAME (0.0.1 5a68b88)
GEM_NAME
あなたの宝石の名前はどこですか
私が観察しているいくつかの重要なケース:
Rails 4.0.2
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
Ubuntu 13.10
RubyMine 6.0.3
RubyMine
ローカルライブラリを外部ライブラリとして表示していないようです。バグの詳細については、 こちらとこちらをご覧ください。stop/start
、railsサーバーを使用するありますversion
gemを変更するとstopping/starting
、Railsサーバーからエラーが返されます。それを修正するために、私はGemfile
このようにRailsアプリケーションでgemバージョンを指定しています:
gem 'GEM_NAME', '0.0.2', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'
gemは、source:source: 'https://source.com', git repository (:github => 'git/url')
およびlocal pathで参照できます:path => '.../path/gem_name'
。この記事では、Gemfilesとその使用方法
について詳しく説明します。