一、发布一个新包
第一步:进入要发布的项目根目录,初始化为npm包:

npm init

依次按提示填入包名、版本、描述、github地址、关键字、license等

这步完成之后会生成一个package.json文件,上面输入的这些信息可以在该文件中修改

注意:如果你的包引用了第三方包,则需要在package.json文件种增加dependencies节点,写入依赖的包及版本

"dependencies": {
"colors": "^1.3.2",
"on-finished": "^2.3.0"
}
第二步、注册npm用户,有两种方法

方法一、npm官网注册:npm

方法二、使用npm 命令注册:npm adduser

注意:如果用户名被别人注册过,那么回报如下错误:

Unable to authenticate, need:Basic

注意:用第二种方法注册的用户登录后,发布包时候会报如下错,只能使用方法一,去官网注册

'mypackage1' is not in the npm registry.

第三步、账号登录

npm login

依次输入第二步中第一种方法注册的用户名、密码和邮箱

第四步、发布包,上传到npm包服务器

npm publish

注意:如果报错:'You do not have permission to publish "mypackage1". Are you logged in as the correct user?'

表示包’mypackage1‘已经在包管理器已经存在被别人用了,需要更该包名称

包名改为:mypackage_tao,再次发布

’+’符合表示发布成功了

可以去自己的npm主页上验证以下,可以看到包mypackage_tao已经在列表中了

注意:如果发布时报错:‘no_perms Private mode enable, only admin can publish this module:’

表示当前不是原始镜像,可能用的是其他镜像,如淘宝镜像,

要切换回原始的npm镜像,命令:npm config set registry https://registry.npmjs.org/,如果用了nrm工具,使用命令:nrm use npm 切换

至此,发布自己的一个新包已经大功告成了,然后别人就可以通过npm install mypackage_tao 来安装你的包了。后续包要更新怎么办呢?往下看

二、更新一个已经发布的包
第一步、修改包的版本

:这次我在包根目录下新加了一个index.js文件

npm version patch  该命令在原来的版本上自动加1,实际上是将package.json文件中的version值修改了。

第二步、重新发布包

npm publish

可以看到,已经有两个版本了

如果我发现版本1.0.1有bug,要删除,怎么办呢?往下看

三、删除包
1、删除指定的版本

npm unpublish 包名@版本号

可以看到版本V1.0.1已经删除

2、删除整个包

npm unpublish 包名 --force

会有警告提示

可以看到包mypackage_tao已经删除了

最新文章

  1. C#联机获取公网IP
  2. ASP.NET网站中获取当前虚拟目录的应用程序目录的方法(转)
  3. 【linux】英文显示乱码解决
  4. 基于IHttpAsyncHandler的TCP收发器
  5. 函数内部的函数中的this都是指向window
  6. 向量和矩阵的范数及MATLAB调用函数
  7. 一段显示隐藏列表HTML代码
  8. php大力力 [017节]来来来,庆祝一下🎁大力力第一个数据库录入程序完成!
  9. 【转】Basic C# OOP Concept
  10. Koa2 源码解析(1)
  11. 关于unsigned int和int的加法
  12. Java正则表达式详解教程
  13. wex5添加视频播放
  14. C#调用PB写的com组件dll
  15. StringUtils工具类常用方法
  16. GIT入门笔记(9)- git的add和commit机制原理
  17. java基础--集合框架的认识
  18. C#后台接java接口传输字节数组(byte[])
  19. 牛客寒假算法基础训练集中营4 E题 Applese 涂颜色
  20. 解决资源id冲突

热门文章

  1. 2019.9.23JAVA课堂测试
  2. HDU2294--Pendant(DP,矩阵优化)
  3. Bootstrap Table 的X-editable插件怎么用
  4. java跨越请求实例
  5. javadoc生成文档
  6. 关于Qt 构建套件(Kit) 编译器 自动识别不正确 不能修改的问题
  7. Java 有几种修饰符?分别用来修饰什么
  8. 四十二、python中异常
  9. 阶段3 1.Mybatis_08.动态SQL_02.mybatis中动态sql语句-where标签的使用
  10. 用configmap管理配置