使用npm 发布自己写的第三方包-npm publish

时间:2021-1-8 作者:admin

一、去npm官网注册一个账号

官网地址:https://www.npmjs.com/
发布包的3个步骤:npm add user , npm login , npm publish

二、去你注册的时候,填写的邮箱地址,进行验证,需要自己去邮箱查看,npm不会给你提示的,否则后期发布包的时候,会提示E403的错误

三、在想要发布的包内的命令行内运行npm publish

3-1如果提示下面的截图:

3-2登录npm

运行命令:npm login
会提示你输入你注册npm时候的用户名、密码、邮箱
看到下面的截图说明你已经登录成功

3-3 发布你自己的包

运行命令:npm publish
看到下面的截图说明你已经发布成功

四、一些常见的错误:

1、no_perms Private mode enable, only admin can publish this module

这是因为镜像设置成淘宝镜像了,设置回来即可:
npm config set registry registry.npmjs.org
如果有需要改回淘宝镜像,再次修改为npm的淘宝链接:
npm config set registry registry.npm.taobao.org

2、npm publish failed put 500 unexpected status code 401

一般是没有登录,重新登录一下 npm login 即可

3、npm ERR! you do not have permission to publish “your module name”. Are you logged in as the correct user?

包名被占用,改个包名即可。最好在官网查一下是否有包名被占用,之后再重命名

4、you must verify your email before publishing a new package

邮箱未验证,去官网验证一下邮箱

5、npm ERR! 403 403 Forbidden – PUT registry.npmjs.org/包名字 – You cannot publish over the previously published versions: 1.0.0.

原因:要发布的版本和原来的版本号相同
修改:要修改当前版本号

6、npm版本过低

处理:npm install -g npm update

7、可能权限原因

处理:npm publish –access=public

8、文件夹名和package.json里的’name’属性一样时也无法发布

处理:将文件夹名或’name’改成不一致即可

9、如果之前删除过npm市场同名的包,重新发布会有一定的时间限禁(目前是24小时后)

五、管理包权限

查看模块拥有者
npm owner ls <package_name>
npm owner ls hello_freedom

添加一个发布者
npm owner add <user> <package_name>
npm owner add freedom hello_freedom


删除一个发布者
npm owner rm<user> <package_name>
npm owner rmfreedom hello_freedom

删除某个版本、删除整个版本
npm unpublish <pkg>@x.y.z  -- 删除某个版本     
npm unpublish xxxpackage  -- 删除整个版本(慎用!)
npm unpublish的推荐替代命令: npm deprecate <pkg>[@version] <message>
使用这个命令,并不在社区里撤销你已有的包,但是在任何人尝试安装这个包时,会得到告警
【注意】如果报权限方面的错误,加上参数: --force


查看当前项目引入了哪些包
npm ls


初始化包
npm init
初始化包,会生成package.json,其里面的main属性配置指向了入口文件


发布个人项目到npm上
npm publish
第一次发布时,需要创建用户: npm adduser
常规用户登录:npm login
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。