2016-03-19 2 views
12

У меня есть узел v.4.4 с номером npm v.2.14.20 (по умолчанию в комплекте с установщиком Windows). Моя ОС: Windows 7 64bit. Аппаратное обеспечение: ноутбук Dell, оперативная память 16 ГБ, SSD, ядро ​​i7.супер медленный узел команды npm

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

node --version 
v4.4.0 

Я получаю выход 4.4.0 в миллисекундах. Но когда я печатаю

npm --version 

мне нужно ждать смешные 8-15 секунд получить выход! И это одинаково для каждой команды npm.

Что я пытался: обновить npm (до последней версии 3.x), обновить узел до 5.9.0, я также попробовал удачу с x86-версиями - то же самое.

  1. Любые подсказки, что может привести к такой «сон» (это только с npm, каждый CMD команда работает отлично, система работает нормально)?
  2. Я буду признателен за любые советы, как я могу отлаживать эту вещь, чтобы посмотреть, что происходит под капотом
+0

любая удача с этим? http://stackoverflow.com/questions/29395211/npm-install-extremly-slow-on-windows – Rabea

+0

Нет, я попробовал как отключить защиту конечных точек IPv6 и symantec (это то, что у меня есть на этом ноутбуке) - без какого-либо эффекта. Однако, когда я попытался, например. 'npm view grunt' дважды второй снимок (я думаю, из кеша) занимает около 6 секунд (поэтому он быстрее, чем первый, который составляет около 16 секунд) ... – Mic

+0

Любое дальнейшее обновление, отличное от указанного выше? Благодаря! – MoMo

ответ

1

Я пари у вас есть много пунктов в вашем PATH. Это общий признак этого сценария.

В терминале выполните команду:

echo "$PATH" 

Если выход имеет более чем 8 или 9 колонов в нем, или, если есть большие каталоги, как корневой каталог / в там, то это вполне может быть виновник.

В качестве основы для сравнения, мой тщательно PATH на MacOS является:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

И если я бегу which npm, выход:

/usr/local/bin/npm 

Это говорит мне, что мой npm находится ранний в моем PATH, что важно для производительности, поскольку PATH получает поиск слева направо за существование npm в каждом каталоге.

Вы можете быстро попробовать мой PATH сверху без каких-либо постоянных последствий, просто запустив:

OLDPATH="$PATH" 
PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' 

Теперь попробуйте запустить команды, которые ранее были быстрыми и медленными, и посмотреть, если есть какая-то разница.

Если вы начинаете видеть «команда не найдена» ошибки, попробуйте постепенно добавлять вещи обратно в PATH или просто запустите:

PATH="$OLDPATH" 

В противном случае, если производительность остается такой же, то это, вероятно, не ваш PATH.Но если ситуация улучшилась, читайте дальше, чтобы сделать ее постоянной.

Возьмите PATH, который наилучшим образом подходит для вас и поместит его в файл запуска вашей оболочки. Обычно это будет находиться по адресу ~/.bashrc или ~/.bash_profile. Попробуйте найти файл автозагрузки, который уже имеет строку PATH=..., закомментируйте существующую строку (обязательно добавьте пояснительный комментарий), а затем вставьте аналогичную строку с лучшим значением.

+0

Держу пари, что это для Unix или что-то в этом роде. Но этот вопрос касается Windows, а не Unix – SteveFest

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