Как я могу использовать пользовательскую версию пакета npm в моем проекте?

Я использую Primus в своем проекте. Primus - это оболочка для библиотек веб-сокетов, таких как sockjs, которую я использую.

При загрузке сервера primus создает сценарий, который затем загружается нашим клиентом в качестве клиентской части сокета. Этот скрипт встраивает исходный код sockjs. Проблема в том, что он использует версию sockjs 1.1.2, которая содержит ошибку, исправленную в версии 1.1.4, но еще не исправленную в Primus.

Я попросил разработчиков Primus изменить его, но они слишком медленно это делают. Итак, я разветвил Primus и заменил неправильный файл на хороший.

Теперь я хочу использовать этот пакет вместо того, чтобы использовать тот, который сейчас объявлен в моем package.json.

Я не знаю, какова хорошая практика в этом случае, единственное решение, которое я могу придумать, - это npm- опубликуйте мой измененный пакет под другим именем, например amplement-primus, а затем сделайте npm install --save amplement-primus, чтобы вставить его в мой проект. Я понятия не имею, что это нарушает правило npm.

Как вы думаете, это хорошая идея или у вас есть на уме что-то получше? Спасибо !


person Vivien Adnot    schedule 29.05.2018    source источник
comment
Каждый из пакетов npm имеет ссылку на проект github с правой стороны. возьмите код из концентратора git и включите этот новый каталог в то, что будет отправлено в проект   -  person Robert Rowntree    schedule 29.05.2018
comment
Да, я сделал это, и это сработало. Спасибо !   -  person Vivien Adnot    schedule 29.05.2018


Ответы (2)


Я использовал URL проекта на github, чтобы сослаться на него в package.json:

  "dependencies": {
    "primus": "git+https://github.com/amplement/primus.git",
    "sockjs": "^0.3.19"
  },
person Vivien Adnot    schedule 29.05.2018
comment
Если вы сделаете то, что было предложено в моем ответе, он автоматически добавит его в ваш файл package.json. - person Harshal Y.; 29.05.2018
comment
В идеале вам не следует изменять раздел зависимостей package.json. - person Harshal Y.; 29.05.2018

Вы можете использовать разветвленное репо для установки пакета.

как :

npm install github_url_of_your_repo

Больше подробностей:

См. это.

person Harshal Y.    schedule 29.05.2018