Відповіді:
Я вірю, що ви можете це зробити:
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 та способи їх використання у цій статті.