Я также чувствую вашу боль ... Если вы активно разрабатываете новый проект nodejs, в котором вы хотите всегда использовать последнюю версию всех ваших пакетов npm для восходящего потока, тогда избегайте упоминания каких-либо зависимостей в вашем файле package.json, пока вы не готов к распространению. Это замедление, которое мы испытываем, связано с излишним хранением этих пакетов upstream внутри вашего каталога проекта в каталоге dir/node_modules /, что не полезно, пока вы не распространите приложение.
Здесь я не употребляйте до потока пакетов в этом package.json файл:
{
... other tags here ...
"dependencies" : {
}
}
Также установить вверх по течению пакетов НПХ вашего проекта во всем мире, используя флаг -g, как в:
npm install -g some_cool_package
так что эти пакеты могут использоваться вашим проектом, но не живут внутри его корневого каталога, что снижает производительность. Одновременно, не выдают
npm install
в то время как внутри nodejs проекта корневого каталога, так как все ваши вверх по течению пакеты НПМ живут в глобальном каталоге установки, как определено в переменной окружения NODE_PATH
echo $NODE_PATH
, который имеет значение, похожее в
/home/stens/node-v5.3.0/lib/node_modules
это глобальный НПМ пакет место хранения, который получает заполняется при установке NPM пакетов, используя флаг -g. Этот $ NODE_PATH будет раздуваться со всеми вашими пакетами npm вверх по потоку вместо того, чтобы храниться внутри вашего nodejs app/node_modules/directory
Разберитесь в этом режиме, свободном от этого багажа ... когда вы готовы распространять, package.json с вашими пакетами npm вверх и выпустите свою npm install для заполнения dir/node_modules/... конечно добавьте свои node_modules к вашему .gitignore, чтобы каталог не был отправлен в git
Вы также можете сделать это к вашим существующим приложениям nodejs, выгружая тэг зависимостей вашего файла package.json и удаляя каталог/node_modules/... пока вы не готовы к распространению
NPM не настолько неэффективен нт. Проблема заключается либо в вашей настройке, в вашем интернет-соединении, либо в ваших ожиданиях. –