Как разработать драгоценный камень в сценической среде? - PullRequest
1 голос
/ 05 февраля 2010

Я пытаюсь взломать разветвленный самоцвет (buildr). Таким образом, я клонировал его из github и начал уничтожать код. Официальный гем установлен в моей системе (в / usr / lib / ruby ​​... / gems / buildr ...). Есть исполняемый файл, который мне нужно использовать в моем процессе разработки - buildr.

Теперь я хочу, чтобы исполняемый файл buildr и библиотека указывали на мое разветвленное хранилище, а не на установку гемов по умолчанию. Это было бы только для этого драгоценного камня. Таким образом, изменения, внесенные в разветвленное репо, можно использовать непосредственно для тестирования и т. Д.

Я думаю, мне нужно загрузить библиотеку до загрузки системного гема. Кто-нибудь может порекомендовать лучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2010

вы можете увеличить версию в gemspec для вашего форка. Затем, когда вы установите вашу версию гема, он будет использовать вашу (более новую) версию по умолчанию.

изменить buildr.gemspec

#...
  spec.version        = '1.3.4.dev'
#...

Тогда

$ gem build buildr.gemspec
$ sudo gem install buildr-1.3.4.dev.gem

и оно должно работать.

0 голосов
/ 05 февраля 2010

Я сделал нечто подобное для работы, когда гем Spreadsheet нарушил обратную совместимость. Я поместил код предыдущих версий в его собственный модуль и просто переименовал в gem my-spreadsheet и установил его (я действительно хотел некоторые функции нового gem, но я также не хотел переписывать весь свой предыдущий код на этом этапе) .

Если вы хотите переопределить только двоичный файл, вы всегда можете применить магию PATH, сначала установив каталог вашего двоичного файла и, таким образом, убедитесь, что вы всегда переопределяете. Но лично я предпочел бы сделать свою собственную копию с новым именем и установить ее.

...