一、发布一个新包
第一步:进入要发布的项目根目录,初始化为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已经删除了

npm发布包的更多相关文章

  1. npm发布包--所遇到的问题

    npm发布包: 解决方案--npm adduser的坑:http://www.tuicool.com/articles/FZbYve npm ERR publish 403,nodejs发布包流程 : ...

  2. npm发布包的那些事

    npm发包的那些事 最近一直在研习关于node的知识,发布包虽然是最基础的一点,但由于一些地方的不注意很容易发生错误,我整理了我可能出现过的一些发布包的过程中的一些error,现在分享给大家: 正确的 ...

  3. 转发npm发布包的过程

    老板,来个npm账号! 因为你的包是要放在npm上的,所以,没有npm的账号,根本什么活都干不了. 在npm上注册一个账号是很简单的,随便填一下用户名密码邮箱,然后人家就会发个邮件给你,然后就注册成功 ...

  4. npm 发布包

    每个包都必须包含package.json配置文件 生成package.page文件 1.到项目目录下执行npm init根据提示输入即可 最后记得要yes 完成项目后就是要发布到npm了 首先需要有n ...

  5. npm 发布包(publish)

    λ npm init // 建包,信息填写好 λ npm adduser // 创建npm账户 填写账号,密码,邮箱 λ npm whoami // 查看当前登录的是谁 ajanuw 登录 λ npm ...

  6. npm发布包以及更新包还有需要注意的几点问题(这里以发布vue插件为例)

    前言 在此之前,你需要去npm官网注册一个属于自己的账号,记住自己的账户名以及密码.邮箱,后面会用的到.第一步,安装webpack简易框架 vue init webpack-simple marque ...

  7. npm 发布包和删除包(2019最新攻略)

  8. 利用npm安装/删除/发布/更新/撤销发布包 --社会我npm哥,好用话不多

      一.什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率   1.从社区的角度:把针对某一特定 ...

  9. 【npm】利用npm安装/删除/发布/更新/撤销发布包

      什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率   1.从社区的角度:把针对某一特定问题 ...

随机推荐

  1. ArrayList遍历的三种方法

    在输出很多的ArrayList的元素时,用普通的for循环太麻烦,因此本文介绍三种遍历ArrayList的方法 package test; public class Student { private ...

  2. c#翻页效果

    用c#和GDI+实现杂志翻页动画效果时间:2010-01-13 blog.csdn.net 周公 - 说明:以前本人参与个一个电子杂志项目,当时要求实现模拟现实生活中的杂志翻页动画效果,别人推荐了这篇 ...

  3. 3D Computer Grapihcs Using OpenGL - 19 Vertex Array Object(顶点数组对象)

    大部分OpenGL教程都会在一开始就讲解VAO,但是该教程的作者认为这是很不合理的,因为要理解它的作用需要建立在我们此前学过的知识基础上.因此直到教程已经进行了一大半,作者才引入VAO这个概念.在我看 ...

  4. android日志优先级

    Android 的日志分为如下几个优先级(priority): V —— Verbose(最低,输出得最多) D —— Debug I —— Info W —— Warning E —— Error ...

  5. JavaScript Map 和 Object 的区别

    不同点 Key filed 在 Object 中, key 必须是简单数据类型(整数,字符串或者是 symbol),而在 Map 中则可以是 JavaScript 支持的所有数据类型,也就是说可以用一 ...

  6. [LeetCode]-algorithms-String to Integer (atoi)

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...

  7. vmware fusion 找不到可以连接的有效对等进程

    红框会有什么提示 vmware...,你点击允许

  8. Go Int转string几种方式性能测试

    Go Int转string几种方式性能测试 - 贤冰的博客 - CSDN博客 https://blog.csdn.net/flyfreelyit/article/details/79701577

  9. 【奇技淫巧】使用 SSH 转发 Sock5 流量

    标题:使用 SSH 转发 Sock5 流量 日期:2018-06-27 介绍:使用 ssh 来做个 sock5 的代理,穿透到内网中做后渗透 0x01. 基本信息 在 ubuntu(10.211.55 ...

  10. Debian系列Linux的隐藏WiFi

    Debian系列Linux共用相同的deb安装包,拥有大量的各种软件,是Linux里面最主要的生态系.包括Ubuntu及其衍生版本如Lubuntu/Mate/Kubuntu等,在ARM上也有很好的支持 ...