一、发布一个新包
第一步:进入要发布的项目根目录,初始化为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. jdbcTemplate进行CRUD,查询结果转json

    通过Spring的jdbcTemplate作为dao层的框架,将获取到的字段名,及其值,通过put放在jsonObject或jsonArray中,将json返回. public class Sprin ...

  2. es6 语法的

    es5 中提供了 两个声明变量的方式 var function es6 中提供了 四种声明变量的方式 let const class import 现在,定义变量的关键字有 6 个了 备注:不能忽略函 ...

  3. Text Classification

    Text Classification For purpose of word embedding extrinsic evaluation, especially downstream task. ...

  4. vue 表格组件分享

    分享一款自己写的table组件  用起来还算简单好用   (先介绍使用方法(ts版本的)) 引入组件不多说 import jTable from '../comp/comp/table/table.v ...

  5. MAC截图工具

    截图快捷键 ctrl+shift+A

  6. golang 标准库 sync.Map 中 nil 和 expunge 区别

    本文不是 sync.Map 源码详细解读,而是聚焦 entry 的不同状态,特别是 nil 状态和 expunge 状态的区分. entry 是 sync.Map 存放值的结构体,其值有三种,分别为 ...

  7. itchat初步解读登录(转)

    原文:https://blog.csdn.net/coder_pig/article/details/81357810 itchat的登录采取的是通过itchat.auto_login()这个函数来完 ...

  8. 安装docker-下载加速、失败、成功安装

    前提:已装VMware虚拟机和Centos系统(具体安装包和过程可以百度) 先看这里:非root身份登录系统需要在下面的命令前加“sudo ”(sudo:代表给权限,用root登录则不需要输入) 一. ...

  9. vim加脚本注释和文本加密

    vim /etc/vimrc 一.李导版本 autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()" fun ...

  10. IP地址转换函数——inet_pton inet_ntop inet_aton inet_addr inet_ntoa

    inet_pton NAME     inet_pton - 将 IPv4 和 IPv6 地址从点分十进制转换为二进制 SYNOPSIS #include <arpa/inet.h> in ...