清除缓存后,npm无法正常工作


125

清除缓存之前

npm cache clear

npm工作正常。清除缓存后,它不起作用。下面的错误日志表明Internet连接存在问题,但是Internet连接很好。此问题不仅会发生在Bower中,还会发生在任何模块中。

这是流程的输出:

> 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

您是否弄清楚了造成此问题的原因-您是否正在使用代理进行外部连接?
阿里·海德2013年

1
这里的问题询问“ npm cache clear”,但问题的正文显示的是“ npm install”的输出,该报告清楚地报告了ETIMEOUT。错误,由于OP在大约两年后仍未得到澄清,我认为这个问题应该解决。
马克·斯托斯伯格

Answers:


142

这对我有用:

npm cache clean --force 

7
在Windows 10上,这对我不起作用(没有错误,什么也没做)。我必须手动删除其中的所有文件夹%appdata%\npm-cache
Plasmid87 '17

谢谢,在--force加法(WIN 10)下为我的计算机工作了

2
npm WARN using --force I sure hope you know what you are doing.小小的绝地武士请谨慎使用武力
布伦诺·里尔(Brenno Leal)


60

“从npm @ 5开始,npm缓存会因损坏问题而自愈,并且保证从缓存中提取的数据是有效的。如果要确保所有内容都是一致的,请使用

npm cache verify

代替。”


18
“缓存”和“保证有效”不属于同一句子。
gburton

1
@gburton,这是直接从终端复制的npm文档。
RBZ

16
那么我想NPM发出的消息是错误的。没有任何东西可以自我治愈。我们不是生活在魔幻之地。
gburton19年

@RBZ请包括您用于生成该帮助语句的命令。
JosephHarriott

1
@JosephHarriott您可以运行npm cache clean查看确切消息
Neil


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

9

尝试npm cache clean --force如果它不起作用,请手动删除%appdata%\ npm-cache文件夹。

并安装 npm install npm@latest -g

它为我工作。

访问此链接


6

尝试npm cache clean --force是否不起作用,然后手动删除%appdata%\npm-cache文件夹。

它为我工作。


1

环境路径可能已删除。

输入以下内容进行检查:

npm config get prefix

这必须是找到npm二进制文件的位置。

在Windows c:/users/username/AppData/Roaming/npm中是找到它们的地方。

将此位置添加到环境变量。它应该工作正常。

(控制面板->搜索“环境变量”,然后单击具有该名称的按钮->编辑路径->添加上述位置)


这极不可能成为问题。
Alexis Tyler,

1

在npm@6.8.0,支持的命令是 npm cache verify


0

我通过以管理员身份运行cmd解决了此问题。在那之前,我试图在vs代码中运行。

使用管理权限在Power Shell或Cmd中运行它。我希望这会有所帮助。

npm install g @angular/cli@latest

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.