Добавить разрабатываемый мной камень для автоматической загрузки rubygems без сборки / установки? - PullRequest
3 голосов
/ 06 января 2012

Я разрабатываю драгоценный камень с Jeweler в пользовательском каталоге. Я хочу иметь возможность запрашивать гем в любом приложении (а также исполняемые файлы из $ PATH), и мне не нужно собирать и устанавливать гем каждый раз, когда я его изменяю.

Я думал о 2 способах:

  • Я делаю символическую ссылку на $ GEM_HOME / gems и $ GEM_HOME / bin
  • Я добавляю каталог bin в $ PATH и каталог lib в rubygems для загрузки.

Но держу пари, что есть правильный способ сделать это.

Ответы [ 2 ]

4 голосов
/ 06 января 2012

Вы можете указать локальный путь в команде gem:

gem 'your-gem', '1.2.3', :path => 'path/to/your-gem'

Обновление: как @Nick указывает в комментариях,

Это специфично для использования bundler. В общем, это просто требует '/path/to/your-gem.

Я хотел бы добавить, однако, что если вы используете специально разработанный гем, пакет, вероятно, облегчит вашу жизнь, если вы еще не используете его. Это связано с тем, что с помощью bundler, когда вы закончите разработку гема (или в стабильной / выпускной точке), вы можете загрузить гем непосредственно из репозитория github, например:

gem 'your-gem', :git => 'git@github.com:you/your-gem.git'
0 голосов
/ 27 февраля 2015

Нет необходимости возиться с вашим Gemfile

require 'bundler/setup', который поместит нужный камень в ваш $LOAD_PATH и позволит вам запросить его на следующей строке.

#!/usr/bin/env ruby
require 'bundler/setup'
require '<gem-name>'
...