npm发布包遇到的坑

news/2024/7/3 14:53:48 标签: npm

感觉发布过程中的坑让我踩的差不多了…在这里记录一下

基本流程

先简单记录一下发布流程

初始化包

npm init

npm_9">登录npm

npm login

发布包

npm publish

问题

接下来就是遇到的问题了,每个问题都包含报错信息,请善用ctrl + f搜索,下文报错中涉及到自己包名的我都替换为了your-package

邮箱未验证

npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! you must verify your email before publishing a new package: https://www.npmjs.com/email-edit : your-package

这个是注册后没有验证邮箱,登录自己邮箱找到对应的邮件确认就好了。注意别选错了,注册npm时会发给你两个邮件,我当时就是眼瞎没有看到第二个。如果验证邮件过期的话登录自己的 npm主页重新发一个就好了。

没有权限发布

npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! You do not have permission to publish "your-package". Are you logged in as the correct user? : your-package

你的包和别人的包重名了,npm 里的包不允许重名,所以去 npm搜一下,改个没人用的名字就可以了。

需要登录

npm ERR! code ENEEDAUTH
npm ERR! need auth auth required for publishing
npm ERR! need auth You need to authorize this machine using `npm adduser`

后面已经注明了,输入npm adduser重新登录就可以了,过程和npm login一样,这个问题在你切换了 npm 源之后或登录过期后都有可能发生。

只有管理员才有权限发布

npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! [no_perms] Private mode enable, only admin can publish this module [no_perms] Private mode enable, only admin can publish this module: your-package

这个是你的源设置成第三方源的时候才有可能发生,比如设置了淘宝源就可能会导致该问题。只要把源改回默认的就可以了,如下:

npm config set registry http://registry.npmjs.org

包名过于类似

npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! Package name too similar to existing packages; try renaming your package to '@hopgoldy/auto-git' and publishing with 'npm publish --access=public' instead : your-package

如果npm上已经有了不少和你的包名类似的包,就会出现这个问题,在package.json中修改你的包名就可以了

无法发布到私有包

npm ERR! publish Failed PUT 402
npm ERR! code E402
npm ERR! You must sign up for private packages :

这个当你的包名为@your-name/your-package时才会出现,原因是当包名以@your-name开头时,npm publish会默认发布为私有包,但是 npm 的私有包需要付费,所以需要添加如下参数进行发布:

npm publish --access public

http://www.niftyadmin.cn/n/1536197.html

相关文章

【emWin】例程十一:GIF图像显示

介绍: 本例程介绍gif格式图像显示的方法以及在GMT70,iCore3_ADP,7寸液晶模块、4.3寸液晶模块, VGA模块上的移植。 实验指导书及代码包下载: 链接:http://pan.baidu.com/s/1jHEUQcY 密码:7az4 实…

Github添加ssh密钥

1.打开Git Bash命令行窗口 2.检查是否已有SSH 如果没有,会返回如下信息,继续第三步创建SSH $ cd ~/.ssh bash: cd: /c/Users/Him/.ssh: No such file or directory如果本地已经有创建SSH,会返回如下信息,表示本地已经有创建过S…

OpenRS—— 开放式遥感数据处理与服务平台 OpenRS-Cloude:基于MapReduce的并行遥感处理系统

江万寿研究员介绍了开放式遥感数据处理与服务平台项目的来源、进展情况,项目思路以及要达到的目标:可扩展、可伸缩、可配置、可定制。 OpenRS的最终目标是搭建一个基本的遥感图像数据处理与应用的框架,实现最常用的图像读写、显示、漫游&…

Auto Fix is enabled by default. Use the single string form.

在.vscode的setting.json配置文件中设置ESLint校验报错 解决方法 ESLint的自动修复是默认启用的。使用单一字符串形式。 {"eslint.validate": ["javascript","javascriptreact","typescript","typescriptreact"] }

Hello,Power BI

Power BI 是什么 Power BI 是一套业务分析工具,用于分析数据和理解数据,快速便捷地监控数据变化,为商务决策提供依据。 Power BI 有用户组的概念、分享权限等概念Power BI 官网地址 本文的目的是让大家对Power BI 有一个初步印象 Power BI 提…

MapReduce:超大机群上的简单数据处理

摘要MapReduce是一个编程模型,和处理,产生大数据集的相关实现.用户指定一个map函数处理一个key/value对,从而产生中间的key/value对集.然后再指定一个reduce函数合并所有的具有相同中间key的中间value.下面将列举许多可以用这个模型来表示的现实世界的工作.以这种方式写的程序能…

Charles不能捕获localhost本地请求的快速解决方法

解决方法 -》修改host文件 在C:\Windows\System32\drivers\etc路径下的host文件中添加 # 对应的域名地址【可以随便写】,可以和我不一样,这里我设置为localhost.charlesproxy.com 127.0.0.1 localhost.charlesproxy.com在Charles中筛选请求

.Net程序员学用Oracle系列(1):导航目录

.Net程序员学用Oracle系列(1):导航目录.Net程序员学用Oracle系列(2):准备测试环境.Net程序员学用Oracle系列(3):数据库编程规范.Net程序员学用Oracle系列(4):四个基本概念.Net程序员学用Oracle系列(5):三大数据类型.Ne…