NPM: никогда не устанавливайте вложенные дополнительные зависимости для пакета npm
Я создаю пакет A, который я хочу опубликовать в NPM.
A имеет зависимость от пакета B, который, в свою очередь, имеет зависимость от пакета C. C имеет две необязательные нативные зависимости D и E. Я знаю, что для определенных я не использую необязательные зависимости D и E и НИКОГДА не пытайтесь установить их, когда кто-то устанавливает мой пакет.
Я знаю, что вы можете использовать команду npm install A --no-optional -g
для установки пакета без дополнительных зависимостей, но это будет знание/накладные расходы, которые я бы предпочел пользователям пакета не нуждаться.
Существует ли какая-либо конфигурация npm или обходной путь, где потребители пакета A могут просто npm install A
или npm install -g A
, а дополнительные зависимости никогда не будут установлены?
Спасибо
Ответы
Ответ 1
npm install A --no-optional
Проверите, все ли работает.
npm list
Убедитесь, что у вас нет ошибок.
npm shrinkwrap
Это блокирует зависимости для пакетов.
Таким образом, npm install будет искать npm-shrinkwrap.json, прежде чем пытаться установить зависимости.
Подробнее об этом можно прочитать здесь https://docs.npmjs.com/cli/shrinkwrap