2015-11-05 7 views
10

Я создаю пакет A, который я хочу опубликовать в NPM.NPM: Никогда не устанавливайте вложенные дополнительные зависимости для пакета npm

A имеет зависимость от пакета B, который, в свою очередь, имеет зависимость от пакета C. C имеет две необязательные нативные зависимости D и E. Я знаю, что для определенных я не использую необязательные зависимости D и E, и НИКОГДА не пытайтесь установить их, когда кто-то устанавливает мой пакет.

Я знаю, что вы можете использовать команду npm install A --no-optional -g для установки пакета без дополнительных зависимостей, но это будет знание/накладные расходы, которые я бы предпочел потребителям пакета.

Есть ли какая-либо конфигурация npm или обходной путь, где потребители пакета A могут только npm install A или npm install -g A и необязательные зависимости никогда не будут установлены?

Благодаря

ответ

3
npm install A --no-optional 

тест, чтобы увидеть, если все работает.

npm list 

Удостоверьтесь, что у вас нет ошибок.

npm shrinkwrap 

Это блокирует зависимости для пакетов.

Таким образом, npm install будет искать в npm-shrinkwrap.json, прежде чем пытаться установить зависимости.

Здесь вы можете узнать об этом здесь https://docs.npmjs.com/cli/shrinkwrap

Смежные вопросы