Відповіді:
Я вірю, що ви можете це зробити:
gem "foo", path: "/path/to/foo"
spring stopпереконатися, чи справді це проблема.
На додаток до зазначення шляху (як згадував Джиммі), ви також можете змусити Bundler використовувати локальний дорогоцінний камінь для вашого оточення лише за допомогою наступного параметра налаштування:
$ bundle config local.GEM_NAME /path/to/local/git/repository
Це дуже корисно, якщо ви розробляєте два дорогоцінні камені або дорогоцінний камінь і додаток для рейок поруч.
Зауважте, що це працює лише тоді, коли ви вже використовуєте git для своєї залежності, наприклад:
# In Gemfile
gem 'rack', :github => 'rack/rack', :branch => 'master'
# In your terminal
$ bundle config local.rack ~/Work/git/rack
Як видно на документах .
BUNDLE_PATH(створення пакету для розповсюдження). Роблячи те, що ви запропонували, або у відповідь Джиммі, він виконує лише "a" 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 'foo',
:git => '/Path/to/local/git/repo',
:branch => 'my-feature-branch'
Потім, якщо це зміниться, я біжу
bundle exec gem uninstall foo
bundle update foo
Але я не впевнений, що всім потрібно виконати ці два кроки.
bundle uninstall <gem> && bundle install , для кожної зміни, яку ви хочете відобразити на вашому додатку
Для використання локального сховища дорогоцінних каменів у проекті Rails виконайте наступні кроки:
Перевірте, чи ваша папка gem є сховищем git (команда виконується в папці gem)
git rev-parse --is-inside-work-treeОтримання шляху до репозиторію (команда виконується в папці gem)
git rev-parse --show-toplevelНалаштування локального переопрацювання для програми рейки
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 , а не, 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сервер рейкиЯкщо я versionзмінюю дорогоцінний камінь, stopping/startingсервер Rails видає мені помилку. Щоб виправити це, я вказую версію дорогоцінного каміння в додатку рейки Gemfileтаким чином:
gem 'GEM_NAME', '0.0.2', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'Ви можете посилатися на дорогоцінні камені як з джерелом: так source: 'https://source.com', git repository (:github => 'git/url')і з місцевим шляхом :path => '.../path/gem_name'.
Ви можете дізнатися більше про Gemfiles та способи їх використання у цій статті.