songEagle

STAY CURIOUS. STAY HUMBLE.

【npm系列】如何升级自己之前写的npm包,然后发布到npm官网上,然后其他项目怎么更新最新的包

经验分享 2019年07月23日 星期二 下午

一、前言

之前写了一篇发布npm包,手把手教你用npm发布第一个npm包的详细教程:https://www.mwcxs.top/page/600.html 如果你想升级自己写的包,该如何做,本文就是介绍这个的。

二、准备阶段

1、你经写了一个npm包(watermark-dom),然后已经上传到npm中,那么它的版本就是1.0.0;

image

2、将npm的源切换到npm官方的。

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

然后就是自身的包的修改,修改了很多内容,增加了很多东西。

三、操作阶段

1、查看已经发布的这个包watermark-dom的版本

npm view watermark-dom versions

iamge

2、修改本地版本号

npm version <update_type>

update_type 有三个参数,

比如我想来个1.0.1版本,注意,是最后一位修改了增1,那么命令:npm version patch 回车就可以了;

比如我想来个1.1.0版本,注意,是第二位修改了增1,那么命令:npm version minor 回车就可以了;

比如我想来个2.0.0版本,注意,是第一位修改了增1,那么命令:npm version major 回车就可以了;

但是发现问题:

npm ERR! Git working directory not clean.

image 意识是说:Git工作目录不干净。

就是说有这个.idea文件夹的问题。

删掉,git add . git commit ,git push

因为编辑器总会给项目添加一些配置项,然后我直接使用命令行,没有用编辑器和git bash here。

进行了一次git version major,进行了一次 git version patch。

image

3、修改远程的版本号

本地修改完后,上传到npm,远端的还是1.0.0版本,我们还要修改远端的版本:

npm publish

image 这样就完成了所有工作内容。

4、查看一下远端的这个包的版本信息

npm view watermark-dom versions

image 在官网上看一下,https://www.npmjs.com

image

四、下载更新包

1、方法1:手动更新

手动修改package.json中依赖包版本,执行npm install,从远程下载所有包更新本地包

2、方法2:使用插件

npm install -g npm-check-updates
ncu // 查看可更新包
ncu -u // 更新package.json
npm install// 升级到最新版本*

五、异常场景及解决办法

(1)404 Not Found - PUT https://www.npmjs.com/watermark-dom

image

解决办法:就是修改npm源。

不要使用 npm config set registry https://www.npmjs.com/。使用npm config set registry https://registry.npmjs.org/

(2) 401 Unauthorized - PUT https://registry.npmjs.org/watermark-dom - You must be logged in to publish packages.

image

解决办法:

(1)执行 npm adduser,输入您相应的 Username 、 Password 、 Email: (this IS public)

image

然后再次执行npm publish,就可以成功。

(3)npm ERR! Unexpected token < in JSON at position 1 while parsing near '

image

解决办法:就是修改npm源。

不要使用 npm config set registry https://www.npmjs.com/。使用npm config set registry https://registry.npmjs.org/

(4)npm ERR! Git working directory not clean.

image

解决办法:删除.idea的文件夹,因为这个是编辑器自带的。

PS:一下子变成了2.0.2的版本,因为主要是大改动,之前一直没有再发包。

还没有评论,快来抢沙发吧!

本站总访问量 本站访客数人次