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 clear", але тіло питання натомість показує вихід із "npm install", який чітко повідомляє про ETIMEOUT. Помилка, оскільки ОП не з’ясувалася приблизно за 2 роки, я вважаю, що це питання слід закрити.
Марк Стосберг

Відповіді:


142

Це працювало для мене:

npm cache clean --force 

7
Це не працювало для мене в Windows 10 (помилок немає, просто нічого не робилося). Мені довелося видалити всі папки в межах%appdata%\npm-cache
plazmid87

Дякую, чи працював на моєму комп’ютері з додатком --force (WIN 10)
Murat ÖNER

2
npm WARN using --force I sure hope you know what you are doing.Будьте обережні з використанням сили, мало джедаїв
Brenno Ліл

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", тож він би зробив те саме.
Марк Стосберг

ресурс не знайдений у вашому спільному посиланні
Прагедський бог

61

"Станом на npm @ 5, кеш-пам'ять npm самолікується від проблем з корупцією, а дані, витягнуті з кеша, гарантовано є дійсними. Якщо ви хочете переконатися, що все відповідає, скористайтеся

npm cache verify

замість цього ".


19
"кеш" та "гарантовано дійсні" не належать до одного речення.
gburton

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

17
то я гадаю, що повідомлення від NPM невірно. Нічого не гарантується самолікуванням. Ми не живемо в країні магії.
gburton

@RBZ, будь ласка, включіть команду, яку ви використали для створення цього довідкового запиту.
ДжозефГарріотт

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- це місце, де вони знайдені.

Додайте це місце до змінної середовища. Це має добре працювати.

(Панель управління -> Пошук "Змінні середовища" та натисніть кнопку з цим ім'ям -> редагувати Шлях -> додати вищезазначене місце)


Це вкрай малоймовірно.
Олексій Тайлер

1

на npm@6.8.0 підтримується команда, яка підтримується npm cache verify


0

Я вирішив цю проблему, запустивши cmd як адміністратор. до цього я намагався запустити в коді vs.

запустіть його в Power Shell або Cmd з адміністративними правами. Сподіваюся, що це допоможе.

npm install g @angular/cli@latest

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.