Как изменить существующий файл *.gem? Я хочу изменить Rakefile в камне, чтобы он мог компилироваться в Windows.
Как изменить жемчужину Ruby
Ответ 1
Вы можете gem unpack
его, добавить свою модификацию, а затем изменить gemspec, если необходимо, и снова создать его:
Ответ 2
Загрузите исходный код в отдельную папку (возможно, из github). Затем измените свой Gemfile, чтобы напрямую указать на источник, чтобы вы могли отредактировать его и проверить свои изменения напрямую.
Например, скажем, что вы хотите редактировать драгоценный камень secure_headers и клонировать его в ~/workspace/secureheaders. Затем вы можете использовать следующее в своем Gemfile:
gem 'secure_headers', :path => "~/workspace/secureheaders"
Затем просто измените исходные файлы внутри исходного дерева, и вы сможете увидеть, как ваши изменения применяются напрямую.
Ответ 3
Более новые версии bundler позволяют сделать это с помощью следующей команды:
bundle open gem_to_edit
Это откроет код драгоценного камня в текстовом редакторе по умолчанию.
(Подсказка: если вы находитесь на Mac OSX/Linux, вы можете указать текстовый редактор по умолчанию, изменив переменную $EDITOR. Скажем, вы находитесь на bash, вы можете просто открыть свой ~/.bash_profile
и добавить: export EDITOR='subl -w'
для установки Sublime Text в качестве редактора по умолчанию)
Ответ 4
Возможно, более приемлемым и открытым исходным кодом для этого было бы проверить, доступен ли источник драгоценных камней на чем-то вроде github. Затем создайте вилку кода драгоценного камня, внесите изменения и отправьте запрос на растяжение. Скорее всего, кто-то еще хочет эту функциональность, и вы будете объявлены за свой вклад.
Ответ 5
Если вам не хватает gemspec для драгоценного камня, извлеките его с помощью этой команды:
gem spec my_gem --ruby > my_gem.gemspec
Конечно, заменив my_gem соответствующим именем gem. Отредактируйте полученный файл, чтобы он поместился (в одном примере мне пришлось удалить строку, которая вызвала ошибку), и вам должно быть хорошо идти.