6 ответов:
в дополнение к указанию пути (как упоминал Джимми) вы также можете заставить 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Как видно на в документы.
вы также можете ссылаться на местный драгоценный камень с git, если вы работаете над ним.
gem 'foo', :git => '/Path/to/local/git/repo', :branch => 'my-feature-branch'тогда, если он изменится я запускаю
bundle exec gem uninstall foo bundle update fooно я не уверен, что каждый должен выполнить эти два шага.
для того, чтобы использовать локальный репозиторий GEM в Rails-проект, выполните действия, описанные ниже:
проверьте, является ли ваша папка 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, а не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не показывает локальные драгоценные камни в качестве внешней библиотеки. Более подробную информацию об ошибке можно найти здесь и здесь- когда я что-то меняю в локальном драгоценном камне, чтобы быть загруженным в приложение rails, я должен
stop/startсервер railsесли я меняю
versionкамень,stopping/startingсервер Rails выдает мне ошибку. Чтобы исправить это, я указываю версию gem в приложении railsGemfileтакой: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 и как их использовать в этой статье.
Comments