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

本文主要是介绍【采坑分享】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
 

最后

如果说

友友们之间的点赞

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

那么

你对我文章的认真阅读

则是对我的劳动成果的

默默地承认和支持

每一次创文的过程

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

也是我

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

每一篇文章的形成

都是我心血的结晶

感谢您的阅读

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

这篇关于【采坑分享】npm login/publish/whoami失败采坑,解决npmERR426、ETIMEDOUT、ECONNREFUSED等错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/499429

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

AngularJS for login

web.xml <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/n

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文