2016-04-07 5 views
0

Предположим, я установил несколько новых пакетов, удалю некоторые пакеты, обновляю некоторые пакеты до новых версий. Все изменения сохраняются в package.json. Когда я вытаскиваю изменения с помощью этого нового package.json, существует ли одна команда для синхронизации между локально установленными пакетами и указанными в обновленном package.json?Есть ли одна команда для синхронизации пакетов npm в `package.json`?

Я ищу что-то вроде:

$ npm syncrhonise 
+0

НПМ установить? если пакет.json изменится, новый пакет будет установлен. –

+0

Если его удалить в package.json, пакет также будет удален? – hllau

+0

'npm update' Вы попробовали это? –

ответ

0

npm install установят все пакеты, указанные в package.json. npm update сделает то же самое, но также найдет любые новые версии этих пакетов. Вы можете удалить отдельный пакет, используя npm uninstall <package>. Есть уже решения, чтобы удалить все пакеты here

+0

Есть ли какая-нибудь одна команда, чтобы сделать все? – hllau

+0

Если бы я был вами, я бы просто удалил папку с вашими узловыми модулями, а затем запустил «npm update» –

+0

. Разве это не будет тратить ресурсы на скачивание и получение пакетов, которые уже установлены? – hllau

0

Я нашел два способа:

Первыйnpm prune удалит все не перечисленные в вашем package.json

npm prune [<name> [<name ...]]

Эта команда удаляет «посторонние» пакеты. Если указано имя пакета , то удаляются только пакеты, соответствующие одному из предоставленных имен: .

Внешние пакеты - это пакеты, которые не указаны в списке зависимостей родительского пакета .

Документация доступна на prune.

Second Вы можете удалить свою папку node_modules /, а затем переустановить зависимости из package.json.

rm -rf node_modules/ 
npm install 

Это удалит все установленные пакеты в текущей папке и только установить зависимости от package.json. Если в зависимостях установлены , npm попытается использовать кэшированную версию, , избегая второй загрузки загрузки.

Окна Trick

Благодаря своей папке вложенности Windows, не может удалить папку, как его имя слишком длинное. Чтобы решить эту проблему, установите RimRaf:

npm install rimraf -g 

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