npm install
从今天起,我目前无法参与任何项目.我正在运行节点v8.2.1和npm 5.3.0(通过nvm安装).
键入npm install
时fetchMetadata
每次都会卡住:
? ????????????????? ? fetchMetadata: sill pacote range manifest for longest@^1.0.1 fetched in 197ms
我已经尝试切换回npm 5.0.3
哪个功能完美无缺,但仍然卡住了.
我的电脑详细信息: MacBook Pro正在运行macOS 10.12.6
Ste*_*zel 20
在节点 v10.16.3 的旧项目中(当 v16/v18 是当前版本时),挂起的原因是一些底层请求
git ls-remote -h -t git://github.com/glayzzle/php-parser.git
Run Code Online (Sandbox Code Playgroud)
自 2022 年初以来,该方法失败了,因为 Github 弃用了未经身份验证的 git:// 协议 ( https://github.blog/2021-09-01-improving-git-protocol-security-github/ )。这个请求重试了几次,只出现在我偶然发现的一个 npm-log 中。
我通过添加解决了这个问题
[url "https://"]
insteadOf = git://
Run Code Online (Sandbox Code Playgroud)
到 ~/.gitconfig,由/sf/answers/751074411/提供。
Sam*_*oon 19
这就是我花了半个小时解决这个问题的方法:
npm config set registry http://registry.npmjs.org/ --global
npm cache clear --force
{}
onlynpm install --verbose
节点:v12.14.1 npm:v6.13.4
当我尝试ng update
在 angular 6 应用程序上运行以将其更新为 angular 9时出现此问题。
作为第一件事,跑去npm install --verbose
看更多!
在我的情况下发生了什么:
在您package.json
搜索包裹时,您可以直接从Github获取.在我的情况下,这样的包不再存在.这样的线条看起来像
"NAME_OF_PACKAGE": "git+ssh://git@github.com/SOME_USER/NAME_OF_PACKAGE.git",
Run Code Online (Sandbox Code Playgroud)
删除包,修复名称/位置或更改为包的npm版本.
进一步说明:我得到了其他几个类似的错误,所有相同但包名称不同longest@^1.0.1
.我也有p-try@something
或array-ify@something
对我来说都没有工作:rm -rf ~/.npm
,npm cache clean
或rm package-lock.json
全部没有工作!
小智 7
这个问题很老了,但这些天我陷入了这种情况。
我尝试了我读到的所有建议来解决与 npm 安装过程相关的问题(清除 npm 缓存并验证、卸载并重新安装包、卸载并安装所有内容等等...),看起来像是“锁定”综合症. 在我的案例中没有任何成功。
一旦我发现我的网络在没有任何防火墙、代理和/或奇怪的路由规则的情况下完全启动并运行,我开始安装包(例如 cli)npm install -g @angular/cli --verbose
,我发现到 URL 的所有连接registry.npmjs.org
都是在 https 中完成的。这就是我的问题。
由于未知原因,在与远程服务器连接期间,npm 在不太清楚的情况下失败,没有任何网络错误或警告。简单地说,检索数据需要大量时间。权限?SSL证书或对其进行一些特定检查?网上的一些奇怪的路线?
目前只是一种猜测。我让计算机整夜运行,并且软件包安装正确,但这太疯狂了。不是吗?
使用命令将连接切换到 http 后,npm config set registry http://registry.npmjs.org/ --global
安装包过程在合理的时间内一切正常。
可能还有更多我遗漏的东西,但在我的情况下,普通的 http 已经解决了这个问题。
Ubuntu 18.04.1 LTS / node v8.12.0 / npm 6.4.1 / nvm 0.33.11
小智 7
添加到@CptUnlucky 的答案。
npm config set registry "http://registry.npmjs.org"
Run Code Online (Sandbox Code Playgroud)
这会强制 http 获取。如果单独这样做不起作用,请限制可以建立的同时连接的数量。默认最大连接数为 50。
npm set maxsockets 3
Run Code Online (Sandbox Code Playgroud)
那对我有用。
在所有答案中,这是对我有用的一个
git config --global url."https://github".insteadOf git://github
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17246 次 |
最近记录: |