Как развернуть программу node.js с измененным пакетом npm? - PullRequest
3 голосов
/ 10 июля 2011

Я использую пакет jsdom для node.js, но столкнулся с проблемой.Я исправил это, вручную редактируя источник в / node_modules / jsdom / lib / jsdom / level2 / languages ​​на моем компьютере, и это работает.Однако теперь я хочу опубликовать свою программу на другом сервере.

Каков наилучший способ обработки этой измененной зависимости?В общем, как мне поступить с обработкой зависимостей, которые были изменены после установки npm?

Ответы [ 2 ]

4 голосов
/ 10 июля 2011

Что ж, правильно сделать, это отправить патч сопровождающему, чтобы он мог быть исправлен в апстриме (долгосрочно). В то же время просто сохраняйте измененный файл и после установки основного пакета переименуйте исходный файл (mv file.js file.js.ORIG), а затем символическую ссылку в свою копию (ln -s ../../../patches/jsdom/level2/languages/file.js file.js).

Это быстрый и грязный вариант. Другой вариант - создать новый тарбол npm с вашим измененным исходным кодом и указать на него NPM. Команда npm install может указывать путь локальной файловой системы к архиву .tar.gz. Это также сработало бы.

3 голосов
/ 13 июля 2011

Если исправление уже включено в кодовую базу, но еще не выпущено в npm, вы можете использовать npm для установки tarball вместо зарегистрированного пакета.Github предоставляет tarball для каждого коммита, просто нажимайте downloads.

Так что для этой конкретной проблемы с jsdom.Вы можете использовать следующую команду npm:

npm install https://github.com/tmpvar/jsdom/tarball/4cf155a1624b3fb54b2eec536a0c060ec1bab4ab

Она также работает в package.json:

"dependencies" : {
  "jsdom" : "https://github.com/tmpvar/jsdom/tarball/4cf155a1624b3fb54b2eec536a0c060ec1bab4ab"
}

Подробнее читайте здесь: https://github.com/tmpvar/jsdom/commit/4cf155a1624b3fb54b2eec536a0c060ec1bab4ab#commitcomment-475293

Спасибо tmpvar!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...