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

news2024/11/17 22:35:51

目录

前言背景:

采坑之路:

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
 

最后

如果说

友友们之间的点赞

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

那么

你对我文章的认真阅读

则是对我的劳动成果的

默默地承认和支持

每一次创文的过程

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

也是我

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

每一篇文章的形成

都是我心血的结晶

感谢您的阅读

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HBase的安装与简单操作

文章目录 第1关:Hbase数据库的安装第2关:创建表第3关:添加数据、删除数据、删除表 第1关:Hbase数据库的安装 编程要求 根据上述步骤安装配置好HBase数据库,并启动成功。 测试说明 若安装配置成功,则程序会…

《数据结构、算法与应用C++语言描述》- 构建哈夫曼树

哈夫曼树 完整可编译运行代码见:Github::Data-Structures-Algorithms-and-Applications/_29huffmanTree 定长编码与可变长编码 定长编码 每个字符都用固定长度的编码来表示。 例如假设一个文本是由字符 a、u、x 和 z 组成的字符串,每个字符用2位二进…

【JVM从入门到实战】(七)运行时数据区的组成

运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域,称之为运行时数据区。 《Java虚拟机规范》中规定了每一部分的作用 线程不共享:程序计数器、虚拟机栈、本地方法栈 线程共享:方法区,堆 1. 程序计数器(Program Count…

Docker单点部署 Elasticsearch + Kibana [8.11.3]

文章目录 一、Elasticsearch二、Kibana三、访问四、其他 Elasticsearch 和 Kibana 版本一般需要保持一致才能一起使用,但是从 8.x.x开始,安全验证不断加强,甚至8.x.x之间的版本安全验证方法都不一样,真的很恼火。 这里记录一次成…

字符串——OJ题

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、字符串相加1、题目讲解2、思路讲解3、代码实现 二、仅仅反转字母1、题目讲解2、思路讲解3…

[C++]——学习模板

了解模板——初阶 前言:一、模板1.1 什么是模板1.2 模板的概念1.3 模板可以做什么1.4 泛型模板 二、函数模板2.1 函数模板概念和格式2.2 函数模板原理2.3 函数模板实例化2.3.1 隐式实例化2.3.2 显式实例化 2.4 模板参数的匹配原则2.5 函数模板声明定义分离 三、类模…

服务器一直掉线怎么回事?

随着网络的高速发展,不管是网站还是游戏,如果遇到服务器卡顿的情况,会造成用户访问网站或进游戏,网站页面长时间无法打开,游戏页面运行卡顿,这样就很容易会造成用户的流失,从而导致业务亏损极大…

华为数通——企业双出口冗余

目标:默认数据全部经过移动上网,联通低带宽。 R1 [ ]ip route-static 0.0.0.0 24 12.1.1.2 目的地址 掩码 下一条 [ ]ip route-static 0.0.0.0 24 13.1.1.3 preference 65 目的地址 掩码 下一条 设置优先级为65 R…

数据持久化与临时存储的对决:localStorage 与 sessionStorage(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

《使用ThinkPHP6开发项目》 - ThinkPHP6使用使用中间件验证登录Token

https://blog.csdn.net/centaury32/article/details/134997438 按照https://blog.csdn.net/centaury32/article/details/134999029的方法验证登录Token,那么每一步都需要写同样一段代码,这里可以结合中间件进行验证 一、创建中间件:php thi…

华为配置VRRP负载分担示例

组网需求 如图1所示,HostA和HostC通过Switch双归属到SwitchA和SwitchB。为减轻SwitchA上数据流量的承载压力,HostA以SwitchA为默认网关接入Internet,SwitchB作为备份网关;HostC以SwitchB为默认网关接入Internet,Switc…

【深度学习】机器学习概述(二)优化算法之梯度下降法(批量BGD、随机SGD、小批量)

​ 文章目录 一、基本概念二、机器学习的三要素1. 模型a. 线性模型b. 非线性模型 2. 学习准则a. 损失函数b. 风险最小化准则 3. 优化机器学习问题转化成为一个最优化问题a. 参数与超参数b. 梯度下降法梯度下降法的迭代公式具体的参数更新公式学习率的选择 c. 随机梯度下降批量…

[Linux] Tomcat部署和优化

一、Tomcat相关知识 1.1 Tomcat的简介 Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。 …

环境搭建及源码运行_java环境搭建_maven

1、介绍 1)管理项目依赖和版本 统一的项目依赖和版本管理 2)Maven支持多模块项目管理 通过定义父子模块的关系来管理多个子模块的构建和依赖关系。使用Maven可以实现多模块项目的统一管理和构建,从而提高项目的可维护性和可重用性。 3&#x…

【️Zookeeper是CP还是AP的?】

😊引言 🎖️本篇博文约3000字,阅读大约10分钟,亲爱的读者,如果本博文对您有帮助,欢迎点赞关注!😊😊😊 🖥️Zookeeper是CP还是AP的? ✅…

Docker及其使用思维导图

Docker的架构 构建分发运行镜像 Client(客户端):是Docker的用户端,可以接受用户命令和配置标识,并与Docker daemon通信。Images(镜像):是一个只读模板,含创建Docker容器…

Sui第八轮资助:七个项目获得资助

今天,Sui基金会宣布本月的资助获得者,他们因构建项目以推动Sui的采用和发展而获得资助。要获得资助,项目必须提交提案,详细说明他们正在构建的内容、预算明细、关键里程碑、团队经验以及对Sui社区的预期贡献。 以下七个项目致力于…

ACT、NAT、NATPT和EASY-IP

目录 一、ACL 1.ACL 2.ACL的两种应用匹配机制 3.ACL的基本类型 4.ACL命令操作 5.ACL实验: 4.ACL的应用原则: 5.匹配原则: 二、NAT 1.NAT的原理及作用: 2.NAT分类 3.NAT配置 三、EASY-ip实验 四、NATPT 五、通配符 …

解决el-table组件中,分页后数据的勾选、回显问题?

问题描述: 1、记录一个弹窗点击确定按钮后,table列表所有勾选的数据信息2、再次打开弹窗,回显勾选所有保存的数据信息3、遇到的bug:切换分页,其他页面勾选的数据丢失;点击确认只保存当前页的数据&#xff1…

spring boot集成mybatis和springsecurity实现登录认证功能

参考了很多网上优秀的教程,结合自己的理解,实现了登录认证功能,不打算把理论搬过来,直接上代码可能入门更快,文中说明都是基于我自己的理解写的,可能存在表述或者解释不对的情况,如果需要理论支…