npm 发包问题记录,npm login登录不上问题记录

2,511 阅读2分钟

背景

我们在学习的时候,看教程,查资料,有的步骤看起来很顺,但是实际操作起来,会发现好像没那么简单,这里就记录下 npm login的问题

起因

学习发包的时候,发现发包很简单,就2行命令

  1. 在cmd终端输入 npm login, 进行登录
  2. 登录成功之后,然后进入你要发布的包的路径中,输入 npm publish

然后我就死在了第一步 npm login

记录过程

  1. 按照要求,把本地npm的源 改成 npm官方源
npm config set registry https://registry.npmjs.org/

这个我也改了,但是报错超时

image.png

  1. 网上查问题,说要设置一个proxy的代理,用科学上网的代理地址才行,人家说能行
npm config set proxy 你的代理地址

我当时这个代理地址也找了老半天,不会弄,后来好说歹说弄上去了。输入用户名的显示出来了

image.png

我兴冲冲的输入了用户名,密码,邮件,一回车,好家伙,又报了个 405 方法不被允许

image.png

  1. 网上再查资料,说还要设置一个 https-proxy 的代理
npm config set https-proxy 你的代理地址

发现还是失败

最后的最后

重启电脑,打开 科学上网,输入 npm login 报了一堆错 (这张图忘记截了)

我恼火了,关掉科学上网,把之前的代理 设置为空

执行下面命令

npm config set proxy null
npm config set https-proxy null

这个时候,出来了 Username

image.png

然后我取消了,重新输入 npm login 这次有成功了

image.png

然后我去发包,执行 npm publish, 没有科学上网,一直都在打转,一直都没有成功,这次,我索性,打开了科学上网,唉,一下子就推送上去了。离谱!!!

后记

我后来又要更新包,这次我发现,发包,除了一开始,把本地的源 设置成 npm的官方源,后续操作其实和科学上网关系不大。

因为我后续更新包,一来没有设置代理,二来也没有开科学上网,最后还是成功了,借用参考文章中的一句话,npm发包真的是跟你本地的网络有关系,和科学上网没啥关系。

参考文章

  1. 有关 npm login 和publish 的疑惑