npm 错误!使用 ng new appname 创建新项目时出现代码 ERR_SOCKET_TIMEOUT

Meh*_*han 63 timeout npm socket-timeout-exception angular

有人可以帮我解决这个问题吗?我收到以下错误:

\n

安装的 Angular 和 Node 版本

\n
\nAngular CLI: 12.0.1\n节点: 14.16.0\n包管理器: npm 7.11.2\n操作系统: win32 x64\n
\n
\n D:\\Learning\\Angular>ng 新工作\n ? 您想添加 Angular 路由吗?否\n?您想使用哪种样式表格式?CSS\n 创建工作/angular.json(3045 字节)\n 创建工作/package.json(1069 字节)\n 创建工作/README.md(997 字节)\n 创建工作/tsconfig.json(783 字节)\ n 创建工作/.editorconfig(274 字节)\n 创建工作/.gitignore(604 字节)\n 创建工作/.browserslistrc(703 字节)\n 创建工作/karma.conf.js(1424 字节)\n 创建工作/tsconfig.app.json(287 字节)\n 创建工作/tsconfig.spec.json(333 字节)\n 创建工作/src/favicon.ico(948 字节)\n 创建工作/src/index.html(293字节)\n 创建工作/src/main.ts(372 字节)\n 创建工作/src/polyfills.ts(2820 字节)\n 创建工作/src/styles.css(80 字节)\n 创建工作/src /test.ts(743 字节)\n 创建工作/src/assets/.gitkeep(0 字节)\n 创建工作/src/environments/environment.prod.ts(51 字节)\n 创建工作/src/environments/ environment.ts(658 字节)\n 创建工作/src/app/app.module.ts(314 字节)\n 创建工作/src/app/app.component.html(23777 字节)\n 创建工作/src/ app/app.component.spec.ts(943 字节)\n 创建工作/src/app/app.component.ts(211 字节)\n 创建工作/src/app/app.component.css(0 字节)\ n / 安装软件包 (npm)...npm 警告已弃用 urix@0.1.0:请参阅 https://github.com/lydell/urix#deprecated\n npm 警告已弃用 har-validator@5.1.5:此库是不再支持\n npm WARN 已弃用的resolve-url@0.2.1:https://github.com/lydell/resolve-url#deprecated\n npm WARN 已弃用的chokidar@2.1.8:Chokidar 2 将在节点 v14+ 上中断。升级到 chokidar 3,依赖项减少 15 倍。\n npm 警告已弃用 request@2.88.2:请求已弃用,请参阅 https://github.com/request/request/issues/3142\n npm 错误!代码 ERR_SOCKET_TIMEOUT\n npm 错误!errno ERR_SOCKET_TIMEOUT\n npm 错误!请求 https://registry.npmjs.org/@angular/cli/-/cli-12.0.1.tgz 失败,原因:套接字超时\n\n npm ERR!可以在以下位置找到此运行的完整日志:\n npm ERR!C:\\Users\\username\\AppData\\Local\\npm-cache\\_logs\\2021-05-23T07_57_24_639Z-debug.log\n \xc3\x97 软件包安装失败,请参见上文。\n 原理图工作流程失败。参见上文。\n
\n

rlf*_*f89 105

您的命令无法成功,因为由于互联网连接问题,npm 无法获取某些模块。您可以尝试使用不同的互联网连接或增加 npm 获取超时。

我刚刚遇到这个问题,它有助于更​​改超时:

npm config set fetch-retry-mintimeout 20000
npm config set fetch-retry-maxtimeout 120000
Run Code Online (Sandbox Code Playgroud)

如果您的连接情况足够糟糕,您可能需要设置更高的值(您可以为每个值添加零或两个)。

您可以找到运行的默认值:

npm config ls -l
Run Code Online (Sandbox Code Playgroud)

  • `npm 配置 ls -l | Linux 上的 grep timeout` 可以直接转到有意义的配置标签 (2认同)

Muh*_*ash 32

使用此命令清除缓存 npm cache clear --force,然后重试

  • 您能解释一下这如何解决“套接字超时”问题吗? (21认同)

Yoh*_*ter 28

你有没有尝试过这个:

- npm config rm proxy
- npm config rm https-proxy
Run Code Online (Sandbox Code Playgroud)

它为我解决了错误。


小智 16

它适用于 Windows:-

npm config delete proxy
npm config delete https-proxy
Run Code Online (Sandbox Code Playgroud)


ram*_*ram 9

注册表 URL 指向“https”。您可能正在使用阻止安全连接的代理

运行 npm config set registry="http://registry.npmjs.org/" 然后尝试创建应用程序。

该命令npm get registry显示它指向的当前 URL。


Sab*_*kdo 6

运行命令:npm install source-map-resolve 我遇到了同样的问题,然后我运行它并解决了我的问题。

  • 虽然此代码可以回答问题,但提供有关如何和/或为何解决问题的附加上下文将提高​​答案的长期价值。 (2认同)