Я бы хотел, чтобы Bundler загрузил местный драгоценный камень. Есть ли вариант для этого? Или мне нужно переместить папку gem в каталог .bundle?
359
Я бы хотел, чтобы Bundler загрузил местный драгоценный камень. Есть ли вариант для этого? Или мне нужно переместить папку gem в каталог .bundle?
Я считаю, что вы можете сделать это:
gem "foo", path: "/path/to/foo"
spring stop
посмотреть, действительно ли это проблема.В дополнение к указанию пути (как упоминал Джимми), вы также можете заставить Bundler использовать локальный гем для вашей среды только с помощью следующей опции конфигурации:
Это очень полезно, если вы разрабатываете два драгоценных камня или приложение с гемами и рельсами параллельно.
Обратите внимание, что это работает только тогда, когда вы уже используете git для своей зависимости, например:
Как видно на документах .
источник
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, если вам довелось работать над ним.
Затем, если это изменится, я бегу
Но я не уверен, что всем нужно выполнять эти два шага.
источник
bundle uninstall <gem> && bundle install
, для каждого изменения, которое вы хотите отразить в своем приложенииЧтобы использовать локальное хранилище гемов в проекте Rails, выполните следующие действия:
Проверьте, является ли ваша папка gem хранилищем git (команда выполняется в папке gem)
Получение пути к хранилищу (команда выполняется в папке gem)
Настройка локального переопределения для приложения rails
где
GEM_NAME
имя вашего драгоценного камня и/path/to/local/git/repository
вывод команды в точке2
В вашем приложении
Gemfile
добавьте следующую строку:Бег
bundle install
должен дать что-то вроде этого:где
GEM_NAME
имя вашего драгоценного камня и/path/to/local/git/repository
из точки2
Наконец, запустите
bundle list
, а неgem list
вы должны увидеть что-то вроде этого:где
GEM_NAME
имя вашего драгоценного камняНесколько важных случаев, которые я наблюдаю, используя:
RubyMine
, не показывает локальные драгоценные камни в качестве внешней библиотеки. Более подробную информацию об ошибке можно найти здесь и здесьstop/start
нужен сервер railsЕсли я изменяю
version
самоцвет,stopping/starting
сервер Rails выдает мне ошибку. Чтобы это исправить, я указываю версию gem в приложении railsGemfile
следующим образом:источник
Вы можете ссылаться на драгоценные камни с источником:
source: 'https://source.com', git repository (:github => 'git/url')
и с локальным путем:path => '.../path/gem_name'
.Вы можете узнать больше о Gemfiles и о том, как использовать их в этой статье.
источник
Если вы тоже хотите ветку:
источник
Only gems with a git source can specify a branch.