分享

银河麒麟npm yarn设置代理,解决依赖拉取失败问题

lemon 2023-11-28 11:09:22 发表于 适配相关 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 143
系统版本

适用系统:V10(SP1)
适用架构:X86
其他版本和架构可作参考。

问题描述:electron应用打包时,会用到 npm或 yarn来拉取依赖,但总出现依赖拉取不成功的问题,报错如下:
  1. <div>npm ERR! code 1npm ERR! path/home/wyx/code/electron-quick-start-master/node_modules/electronnpm ERR! command failednpm ERR! command sh -c node install.jsnpm ERR! ReadError: The server aborted pending requestnpm ERR! at IncomingMessage.<anonymous>(/home/wyx/code/electron-quick-start-master/node_modules/got/dist/source/core/index.js:809:31)npm ERR! at Object.onceWrapper (node:events:641:28)npm ERR! at IncomingMessage.emit (node:events:539:35)npm ERR! at IncomingMessage.origin.emit(/home/wyx/code/electron-quick-start-master/node_modules/@szmarczak/httptimer/dist/source/index.js:43:20)npm ERR! at IncomingMessage._destroy (node:_http_incoming:179:10)npm ERR! at _destroy (node:internal/streams/destroy:102:25)npm ERR! at IncomingMessage.destroy(node:internal/streams/destroy:64:5)npm ERR! at TLSSocket.socketCloseListener (node:_http_client:414:11)npm ERR! at TLSSocket.emit (node:events:539:35)npm ERR! at node:net:709:12RequestError: connect ETIMEDOUT 20.205.243.166:443at ClientRequest.<anonymous>
  2. (/home/wyx/code/joplin/packages/app-desktop/node_modules/@electron/get/node_modules/got/source/request-as-event-emitter.js:178:14)at Object.onceWrapper (node:events:642:26)at ClientRequest.emit (node:events:539:35)at ClientRequest.origin.emit

  3. <div>(/home/wyx/code/joplin/packages/app-desktop/node_modules/@electron/get/node_modules/@szmarczak/http-timer/source/index.js:37:11)
  4. at TLSSocket.socketErrorListener (node:_http_client:454:9)
  5. at TLSSocket.emit (node:events:527:28)
  6. at emitErrorNT (node:internal/streams/destroy:157:8)
  7. at emitErrorCloseNT (node:internal/streams/destroy:122:3)
  8. at processTicksAndRejections (node:internal/process/task_queues:83:21)</div></div>
复制代码
问题分析:使用 npm或 yarn拉取依赖时,基本都是从 Github或者 npm官方源中拉取,容易由于网络因素出现这种问题
问题解决方案:我们可以采取如方法规避:
使用替代工具 cnpm
可以使用淘宝 NPM镜像定制的 cnpm (gzip压缩支持)命令行工具代替默认的 npm:
  1. npm install -g cnpm --registry=https://registry.npmmirror.com
复制代码
这样就可以使用 cnpm命令来安装模块了:
  1. cnpm install [name]
复制代码


设置代理;
下面介绍如何设置代理:
(1)设置 registry
通过将 registry设置为淘宝源,基本可以解决大部分问题
npm设置 registry:
  1. npm config set registry https://registry.npm.taobao.org/
复制代码
yarn设置 registry
  1. yarn config set registry https://registry.npm.taobao.org/
复制代码
如果使用的是高版本的 yarn,执行上面的命令会有报错:
Usage Error: Couldn't find a configuration settings named "registry"
因是高版本的 yarn设置 registry的名称变了,可以使用 yarn config查看,需要使用如下命令设置:
  1. yarn config set npmRegistryServer https://registry.npm.taobao.org/
复制代码
参考:https://ya[/        discuz_code_5        ][/        discuz_code_4        ][/        discuz_code_3        ][/        discuz_code_2        ][/        discuz_code_1        ][/        discuz_code_0        ]

试读已结束,请付费阅读全文。

  本文只能试读34%,付费后可阅读全文。 

版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系在线客服