npm не работает после очистки кеша


126

Перед очисткой кеша

npm cache clear

npm работает нормально. После очистки кеша он не работает. Приведенный ниже журнал ошибок указывает на проблему с подключением к Интернету, но подключение к Интернету в порядке. Эта проблема возникает не только с беседкой, но и с любыми модулями.

Вот результат процесса:

> sudo npm install -g bower Password: npm http GET
> https://registry.npmjs.org/bower npm http GET
> https://registry.npmjs.org/bower npm http GET
> https://registry.npmjs.org/bower npm ERR! network connect ETIMEDOUT
> npm ERR! network This is most likely not a problem with npm itself npm
> ERR! network and is related to network connectivity. npm ERR! network
> In most cases you are behind a proxy or have bad network settings. npm
> ERR! network npm ERR! network If you are behind a proxy, please make
> sure that the npm ERR! network 'proxy' config is set properly.  See:
> 'npm help config'
> 
> npm ERR! System Darwin 12.5.0 npm ERR! command
> "/usr/local/Cellar/node/0.10.16/bin/node" "/usr/local/bin/npm"
> "install" "-g" "bower" npm ERR! cwd /Users/username npm ERR!
> node -v v0.10.16 npm ERR! npm -v 1.3.8 npm ERR! syscall connect npm
> ERR! code ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! npm ERR!
> Additional logging details can be found in: npm ERR!    
> /Users/username/npm-debug.log npm ERR! not ok code 0

Вы выяснили, что является причиной проблемы - используете ли вы прокси для внешнего подключения?
Али Хайдер

1
Здесь задан вопрос о «очистке кеша npm», но в теле вопроса вместо этого отображается результат «npm install», который явно сообщает об ETIMEOUT. Ошибка, так как ОП не прояснилась примерно за 2 года, я думаю, что этот вопрос следует закрыть.
Марк Стосберг,

Ответы:


142

Это сработало для меня:

npm cache clean --force 

7
У меня это не сработало в Windows 10 (без ошибок, просто ничего не сделал). Мне пришлось вручную удалить все папки внутри%appdata%\npm-cache
plasmid87 07

Спасибо, сработало на моем компьютере с добавлением
--force

2
npm WARN using --force I sure hope you know what you are doing.Будь осторожен с применением силы, маленький джедай
Леал

132

Так должно быть

npm cache clean  

См. Https://docs.npmjs.com/cli/cache.html.


25
Этот ответ мог быть правильным в то время, когда npm был на версии 1.3.8, как упоминалось в вопросе. Однако в npm 2.8.3 и npm 3.3.0 «clear» - это скрытый псевдоним для «clean», поэтому он будет делать то же самое.
Марк Стосберг,

ресурс не найден в вашей общей ссылке
Prageeth godage

61

"Начиная с npm @ 5, кеш npm самовосстанавливается от проблем с повреждением, и данные, извлеченные из кеша, гарантированно действительны. Если вы хотите убедиться, что все согласовано, используйте

npm cache verify

вместо."


20
«кэш» и «гарантированно действительный» не относятся к одному и тому же предложению.
gburton

1
@gburton, это документация npm, скопированная прямо с терминала.
RBZ

18
тогда я предполагаю, что сообщение от NPM неверно. Самостоятельное исцеление ничем не гарантировано. Мы не живем в стране волшебства.
gburton

@RBZ, пожалуйста, включите команду, которую вы использовали для создания этого справочного оператора.
JosephHarriott

1
@JosephHarriott. Вы можете запустить очистку кеша npm, чтобы увидеть точное сообщение,
Нил,


10

я пробую

npm cache clean 

Но npm сказал, что более новая версия на npm (> 5) имеет механизм самовосстановления, и все, что мне нужно сделать для проверки npm, - это использовать verify

npm cache verify

сообщение npm:

The npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. 

If you want to make sure everything is consistent, use 'npm cache verify' instead.

но для принудительного использования npm используйте это:

npm cache clean --force


6

Попробуйте, npm cache clean --forceесли это не сработает, удалите %appdata%\npm-cacheпапку вручную .

У меня это сработало.


1

Путь к среде мог быть удален.

Проверьте это, набрав,

npm config get prefix

Это должно быть место, где находятся двоичные файлы npm.

В окнах c:/users/username/AppData/Roaming/npmесть то место, где они находятся.

Добавьте это местоположение в переменную среды. Должно работать нормально.

(Панель управления -> Найдите «Переменные среды» и нажмите кнопку с этим именем -> изменить путь -> добавьте указанное выше местоположение)


Маловероятно, что это проблема.
Алексис Тайлер,


0

Я решил эту проблему, запустив cmd от имени администратора. до этого я пытался запустить vs code.

запустите его в Power Shell или Cmd с правами администратора. Надеюсь, это поможет.

npm install g @angular/cli@latest

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.