【采坑分享】npm login/publish/whoami失败采坑,解决npmERR426、ETIMEDOUT、ECONNREFUSED等错误

目录

前言背景:

采坑之路:

1.修改https为http,问题还在

2.修改为淘宝镜像,问题还在

3.修改为官网地址,问题还在

4.升级node和npm,问题还在

5.猜想网络问题,问题解决

采坑总结:

1.输入npm login直接给你跳转到Sign in to CNPM

2.npm ERR! code E426

3. npm ERR! code ETIMEDOUT

4.npm ERR! code ECONNREFUSED


前言背景:

近日,我执行npm publish突然报错,主要是报code ETIMEDOUT,连接异常。

npm notice
npm ERR! code ETIMEDOUT
npm ERR! errno ETIMEDOUT
npm ERR! network request to https://registry.npmjs.org/xx failed, reason: connect ETIMEDOUT 104.16.1.35:443
npm ERR! network This is a problem 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! A complete log of this run can be found in:
npm ERR!     C:\Users\16597\AppData\Roaming\npm-cache\_logs\2023-12-15T02_06_32_447Z-debug.log

采坑之路:

1.修改https为http,问题还在

然后受这篇文章《npm无法登录、发布_reason: connect etimedout 104.16.26.34:443 npm err-CSDN博客》误导,

重新把https://xxxx改为http://xxx,问题还在!

# 设置镜像源为官方去https为http地址
npm config set registry http://registry.npmjs.org/

2.修改为淘宝镜像,问题还在

然后我受这篇文章《npm 发布更新包失败问题_npm publish 后未刷新-CSDN博客》误导,把registry设置为了淘宝镜像,我还以为登录过期了,我就用npm login重新登录,结果登录不了。

Sign up to CNPM

Public registration is not allowed

# 设置registry为淘宝镜像源
npm config set registry https://registry.npmmirror.com/

注意:淘宝镜像更改重定向地址:原来用http://registry.npm.taobao.org/npm,所以现在直接用了https://registry.npmmirror.com/。

3.修改为官网地址,问题还在

然后我又受《npm login问题汇总-CSDN博客》这篇大哥误导,他还强调,要改回去不带https的地址,然后我又试一下登录npm login

命令: npm config set registry http://registry.npmjs.org/注意不是下面的https地址,是http地址。
(注意不是npm config set registry https://registry.npmjs.org/

顺便说一下,退出上一个npm login,我用的Ctrl+Z。

# 查看registry配置
npm config get registry

# 设置registry配置
npm config set registry http://registry.npmjs.org/

结果大家也看到了,出现新的错误,CODE E426

$ npm login
Username: zhou***han
Password: *******
Email: (this IS public) 165***767@qq.com
npm ERR! code E426
npm ERR! Registry returned 426 for PUT on http://registry.npmjs.org/-/user/org.couchdb.user:

4.升级node和npm,问题还在

出现新的code码,心想那就好解决了呀,参照了《npm publish遇到 code E426_npm publish 426-CSDN博客》《npm publish发布426与403问题_npm包发布失败 upgrade required - put-CSDN博客》《npm publish报错error 426 Upgrade Required - PUT http://registry.npmjs.org/your-packageName_npm err! code e426-CSDN博客》三篇文章,总的来说就是npm让我升级,node让我升级14.18.0 LTS。

然后查看了一下我的npm版本是6.4.1,还好我有装nvm,切换一个node版本不就升级。试试吧。

# nvm查看node版本
nvm list
 
# nvm使用一个高版本
nvm use 18.16.0

# 查看当前node版本
node -v

# 查看当前npm版本
npm -v

结果:

npm notice Log in on http://registry.npmjs.org/
npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/

npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/
npm ERR! code E426
npm ERR! 426 Upgrade Required - PUT http://registry.npmjs.org/-/user/org.couchdb.user:zhouzhenhan

npm ERR! A complete log of this run can be found in:
npm ERR!

反而复现了别人文章里的问题426 Upgrade Required,我出现的问题 Registry returned 426,然后我按照文章《npm publish 时提示需要升级TLS 1.2的解决方案_including for package installation - must use tls -CSDN博客》里的操作,一顿安装TLS也没解决我的问题。然后就想打开那个通知《 The npm registry is deprecating TLS 1.0 and TLS 1.1》看看描述。

npm install -g https://tls-test.npmjs.com/tls-test-1.0.0.tgz

看到最后一行,要升级npm大于7,要奔溃了啊。此时我的node 18.16.0,我的npm版本9.5.1.也按要求下载了TLS,还是报错。

If you see a TLS error message instead, we encourage you to upgrade to a currently supported version of Node.js and the latest version of npm v7.

翻译:

如果你看到一个TLS错误消息,我们建议你升级到当前支持的Node.js版本和最新版本的npm v7。

5.猜想网络问题,问题解决

冷静冷静,回归最开始我出现的问题,我是连接超时,连不上官网,登录不了,发布不了。然后看了这篇《npm publish 发布失败 无法连接 https://registry.npmjs.org》和我现象描述一致,我也是手机可以出现,电脑端访问不行。我也共享了手机热点,太慢了,还是无法登陆,无法发布。

如图,手机访问有数据返回:

电脑端访问就无法连接了:

看来只能借个梯子,设置一下proxy的端口号。

# 设置代理端口
npm config set proxy http://127.0.0.1:8001

查看梯子的端口号是8001,你可以具体改成你的自己的代理:

由于镜像地址这个时候不是https的报错变成了code ECONNREFUSED

所以设置回https的官网地址:

# 设置为加https的 
npm config set registry https://registry.npmjs.org/

终于可以登录成功拉,可以发布了!~

采坑总结:

虽然本次采坑走了很多弯路,但也学会了一些技能,比如如下错误的处理:

1.输入npm login直接给你跳转到Sign in to CNPM

这个时候改镜像地址为官网才能正常登陆发布;

# 设置官网https的镜像
npm config set registry https://registry.npmjs.org/

2.npm ERR! code E426

应该是接口请求失败,需要看一下是因为网络问题,还是参数问题请求不了?

npm ERR! code E426
npm ERR! Registry returned 426 for PUT

npm ERR! code E426
npm ERR! 426 Upgrade Required - PUT

我出现以上2个报错,都是通过代理连接上官网镜像就解决了。

# 设置代理端口
npm config set proxy http://127.0.0.1:8001

3. npm ERR! code ETIMEDOUT

这个报错是连接错误  This is a problem related to network connectivity.连接超时,我也是通过代理解决。猜测有防火墙或者限制访问了,毕竟手机可以打开,电脑打不开。

npm ERR! code ETIMEDOUT
npm ERR! errno ETIMEDOUT
npm ERR! syscall connect
npm ERR! network connect ETIMEDOUT 104.16.29.34:443

4.npm ERR! code ECONNREFUSED

这个问题报错应该是端口设置了,但是连接不了。我把梯子打开就可以了。

npm login
npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! FetchError: request to https://registry.npmjs.org/-/v1/login failed, reason: connect ECONNREFUSED 127.0.0.1:8001
 

最后

如果说

友友们之间的点赞

展现的是相互之间的支持,善意和友情

那么

你对我文章的认真阅读

则是对我的劳动成果的

默默地承认和支持

每一次创文的过程

都是我锻炼自己逻辑思维能力和语言组织能力的过程

也是我

不断深悟生活,思考人生的过程

每一篇文章的形成

都是我心血的结晶

感谢您的阅读

欢迎点赞,评论,互关!~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/247246.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【EI会议征稿】第三届计算机、人工智能与控制工程国际学术会议

The 3rd International Conference on Computer, Artificial Intelligence and Control Engineering (CAICE 2024) 第三届计算机、人工智能与控制工程国际学术会议 第三届计算机、人工智能与控制工程国际学术会议(CAICE 2024)将于2024年1月26-28日在西…

批量解压imagenet1k数据集中的zip文件

导言: 最近在处理imagenet1k数据集时,面对大量的zip包,手动一个一个解压显然不是明智的选择。作为程序员,我们可以采用批量解压的方法来提高效率,下面就是解决这一问题的方法和原因分析。 问题背景: image…

软件测试用例经典方法 | 单元测试法案例

单元测试又称模块测试,是对软件设计的最小单元的功能、性能、接口和设计约束等的正确性进行检验,检查程序在语法、格式和逻辑上的错误,并验证程序是否符合规范,以发现单元内部可能存在的各种缺陷。 单元测试的对象是软件设计的最…

ESXI 6.7升级update3

一、适用场景 1、企业已有专业服务器,通过虚拟化环境搭建了vm server; 2、备份整个vm server时,需要使用ovftool工具完成,直接导出ovf模板时报错; 3、升级EXSI6.7的build 8169922版本为update 3版本后,已保…

无脑利用API实现文心一言AI对话功能?(附代码)

前言:在当今数字化的时代,人工智能(AI)技术正在不断演进,为开发者提供了丰富的工具和资源。其中,API(应用程序接口)成为构建强大AI应用的关键组成部分之一。本文将介绍如何利用API来…

P21 卷积神经网络CNN

卷积 参数共享 Maxpool 逐步限制 neuron的弹性, 感受野限制看的范围,参数共享限制参数 由于上述限制,CNN的bias 比较大,用在图像中,影响不大。 如果用在其他方面,要注意一下。 pooling的目的是降低计算…

如何在手机上设置每年农历日期的生日提醒?

生日是一个比较特殊的节日,很多人都会在生日的时候,被自己的亲朋好友送祝福和礼物,同理我们也要在亲朋好友生日的时候,为他们送上祝福和礼物,这时候如果忘记对方的生日就比较影响关系了。而有不少小伙伴都表示自己平时…

基于深度学习yolov5钢材瑕疵目标检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介YOLOv5钢材瑕疵目标检测系统特性1. 数据预处理2. 模型架构3. 训练策略4. 后处理 性能评估 二、功能三、系统四. 总结 一项目简介 # YOLOv5 钢材瑕疵目标…

数据结构-07-二叉树

前面学习的栈、队列等等都是线性表结构。树是一种非线性表结构,比线性表的数据结构要复杂。 1-树tree “树”这种数据结构类似我们现实生活中的“树”,这里面每个元素我们叫作“节点”;用来连线相邻节点之间的关系,我们叫作“父子…

js 实现图片上传

<style>.showFile{width: 200px;height: 200px;border: 1px solid blue;}.showFile img{width: 100px;height: 100px;} </style> <div><input type"file" id"file" multiple><!--展示所上传的文件--><div class"sho…

2023年【上海市安全员B证】考试题库及上海市安全员B证考试资料

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 上海市安全员B证考试题库是安全生产模拟考试一点通总题库中生成的一套上海市安全员B证考试资料&#xff0c;安全生产模拟考试一点通上上海市安全员B证作业手机同步练习。2023年【上海市安全员B证】考试题库及上海市安…

数字孪生项目的开发平台

WEBGL 开发数字孪生项目的流程涵盖了需求分析、场景搭建、模型创建、数据接入、动画与交互、性能优化、测试与部署以及维护与升级等方面。WEBGL 开发数字孪生项目的流程可以分为以下几个步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外…

海外大文件传输好用的平台工具推荐

在当今全球化时代&#xff0c;跨国合作已经成为多个行业和领域的常态。创意人、广告从业者和创作者等经常需要与海外的合作伙伴或客户分享大型的视频、音频、图片等文件。这些文件通常具有较高的质量和分辨率&#xff0c;占用了大量的存储空间和网络带宽。因此&#xff0c;跨国…

设置一个vue文件的全局模板

VsCode在新建一个.vue文件的时候是空白的&#xff0c;需要我们自己输入片段&#xff0c;可这些在每次新建.vue文件都需要自己手敲&#xff0c;所以创建一个模板方便使用 设置vue模板 导入 {"生成 vue 模板": {"prefix": "vue","body"…

Linux查询指定时间点段日志Linux查询指定文件

Linux服务器高效查询日志查询文件 Ⅰ、常用几种日志查询语法Ⅱ、常用几种查询语法 Ⅰ、常用几种日志查询语法 #查询某日志前xx行日志 head -n 行数 日志文件名 #查询某日志后xx行日志 tail -n 行数 日志文件名 #查询固定时间点日志&#xff08;前提是这个时间点确实有日志输出…

差分法详解

前言 差分算法适用于一些需要对数组和序列进行增减、查询和更新操作的问题&#xff0c;可以提高计算效率和降低存储空间的需求。今天我将带大家学习如何使用差分法&#xff0c;会以例题来带大家使用差分法以增进理解。话不多说让我们开始吧&#xff01; 文章目录 一维差分尾声…

常见Web开发安全漏洞的防御手段

一、Web开发安全漏洞的防御手段方案 输入验证和过滤&#xff1a;对用户输入进行严格的验证和过滤&#xff0c;确保输入的数据符合预期的格式和类型&#xff0c;防止恶意输入或注入攻击。参数化查询&#xff1a;使用预编译的SQL语句和参数化查询接口&#xff0c;避免将用户输入…

逻辑回归的介绍和应用

逻辑回归的介绍 逻辑回归&#xff08;Logistic regression&#xff0c;简称LR&#xff09;虽然其中带有"回归"两个字&#xff0c;但逻辑回归其实是一个分类模型&#xff0c;并且广泛应用于各个领域之中。虽然现在深度学习相对于这些传统方法更为火热&#xff0c;但实…

vue使用el-tag完成添加标签操作

需求&#xff1a;做一个添加标签的功能&#xff0c;点击添加后输入内容后回车可以添加&#xff0c;并且标签可以删除 1.效果 2.主要代码讲解 鼠标按下后触发handleLabel函数&#xff0c;根据回车的keycode判断用户是不是按下的回车键&#xff0c;回车键键值为13&#xff0c;用…

Selenium IED-安装及简单使用

本文已收录于专栏 《自动化测试》 目录 背景介绍优势特点安装步骤录制脚本总结提升 背景介绍 Selenium 通过使用 WebDriver 支持市场上所有主流浏览器的自动化。 Webdriver 是一个 API 和协议&#xff0c;它定义了一个语言中立的接口&#xff0c;用于控制 web 浏览器的行为。 每…