如何在npm发布一个自己包
一:准备工作
1.注册一个npm账号
注册地址:https://www.npmjs.com/signup
Username
Email address
Password
2.全局安装nrm
npm i nrm -g
nrm是npm的仓储管理软件,可用于npm的仓储的快速切换
nrm 常用的命令
二:发布包
npm 发布包至少包含
package.json(包的基本信息)
readme.md(文档)
index.js(入口文件)
1.创建项目
1)创建项目并切换到当前项目
mkdir unit && cd unit
2)创建package.json
npm install
3)创建README.md
使用任何文本编辑器创建文件。将其保存在项目目录中,名称为readme.md发布时,此文档将显示在下载您的软件包的网页上。
4)创建index.js
内容自己写吧
2.发布
npm publish
这时可能会报错,错误信息及解决方案如下
1)未登录
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 login 或者添加用户 npm adduser
Username:
Password:
Email: (this IS public)
2)包名重复
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! You do not have permission to publish "unit". Are you logged in as the correct user? : unit
解决方案:
将package.json中的name替换一个稍微自定义的名字即可。
3)邮箱未认证
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! Forbidden : unit-dingding(我的包名)
解决方案
去你注册npm的邮箱里认证一下。
4)检查仓库
npm ERR! publishFailedPUT403
npm ERR! codeE403
npm ERR! no_permsPrivatemode enable,only admin can publish this module:...
解决方案
检查仓库是否被设成了淘宝镜像库
npm configgetregistry
https://registry.npm.taobao.org/
如是,则设回原仓库
npm config set registry=http://registry.npmjs.org
如发布成功,则再次将仓库地址设为淘宝镜像地址
npm config set registry=https://registry.npm.taobao.org/
5)仓储地址不对
npm ERR! code E409
npm ERR! Registry returned 409 for PUT on http://r.cnpmjs.org/-/user/or...:dingding: conflict
通过nrm ls 命令查看我此时的仓库地址为cnpm,而不是npm
解决方案
用nrm切换到npm仓库,执行命令nrm use npm
问题解决后再次执行发布命令npm publish,发布成功
3.npm 官网搜索
需要等待几分钟才能在npm上看见
三:安装
执行命令如下:npm i unit-dingding
打开pagejson.js 文件
"dependencies": {
"unit-dingding":"^1.0.0"
},
接下来就可以在你的项目上使用了
import vm from 'unit-dingding';