在npm上如何发布自己的包

环境需要:node和npm

然后在本地建一个文件夹作为你要发布的模块

然后在这个文件夹下打开cmd

执行:npm init

按照提示写对应的,或者先不写也可以,最后y

这时候在mcrm这个文件夹下就出现了一个package.json的文件

name:包名
version:版本,第一个数字一般为版本不兼容改动,第二个数字为版本兼容的功能修改,第三个为版本兼容的bug修复
description:包的说明
main:入口文件
scripts:可执行的脚本命令

repository:仓库类型及地址这样会关联到你的GitHub
keywords:关键字
author:作者
license:许可证书

然后我从我的github上下了一个模块代码到该目录下(这里就是自己写的公共模块方法),现在模块项目已经准备好了

这时候需要一个npm的帐号,到npm官网或使用npm adduser命令添加帐号,注意需要邮箱里验证一下。

然后执行:npm adduser

 

这时候就可以发布了,命令行执行:npm publish

 

这时候发布成功去我的邮箱看一下‘

然后再去npm官网看一下

好了

在其他项目中就可以npm install mcrm-jsapi使用这个包了

------------------------注意--------------------------------

在npm publish发布过程中可能会出现发布不成功

其中有个问题是需要把http://registry.cnpmjs.org换成https://registry.npmjs.org,

命令行执行npm config set registry https://registry.npmjs.org

发布成功后有需要切换回cnpm镜像

 npm config set registry http://registry.cnpmjs.org

或者淘宝镜像

npm config set registry https://registry.npm.taobao.org

------------------如何取消发布-------------------

npm unpublish       如果权限不够加上--force :  npm --force unpublish

但是我测试了一下现在好像取消不了

官方说24小时内发的可以取消,但是我测试没有取消掉,虽然cmd命令里显示取消成功了,但是去npm搜还是能搜到

npm unpublish的推荐替代命令:npm deprecate <pkg>[@<version>] <message> 

使用这个命令,并不会在社区里撤销你已有的包,但会在任何人尝试安装这个包的时候得到警告

原文地址:https://www.cnblogs.com/bobo1/p/10899009.html