npm => Node Package Manager 是nodeJs的包管理工具
npm 官网 http://www.npmjs.org
npm常用命令
npm -v //查看版本号
npm --help //查看npm所有命令
npm adduser //添加 npm 账号,也可以去npm官网注册
npm init //构建项目说明,生成 package.json文件
npm view jquery versions //查看历史版本信息(最多只能显示100条)
npm view node versions --json //查看所有版本信息
npm view jquery version //查看最新版本信息
npm info jquery //查看所有版本及jquery的信息
npm ls jquery //查看本地安裝的jquery版本
npm ls jquery -g //查看全局安裝的jquery版本
npm i jquery@3.2.3 //安裝指定版本
npm i jquery //安装推荐的版本
npm i jquery@latest //安裝指定、最新版本
npm install gulp 简写 npm i gulp //安装依赖
npm install gulp -S -D
npm install gulp@3.0.0 --save
npm update gulp //可以把当前目录下node_modules子目录里边的对应模块更新至最新版本
npm update gulp -g //可以把全局安装的对应命令行程序更新至最新版
npm uninstall gulp@3.0.0 --save //卸载依赖
npm install cnpm -g --registry= https://registry.npm.taobao.org //安装淘宝镜像
npm config list //查看npm的配置
npm config set registry https://registry.npm.taobao.org //设置淘宝镜像源
npm config set registry https://registry.npmjs.org //设置npm源
npm set disturl https://npm.taobao.org/dist //设置资源库从淘宝库获取
npm cache clean --force //清空npm本地缓存 ,用于对付使用相同版本号发布新版本代码的人
npm run dev / test / build //执行script命令
npm login //发布包时登录npm账号用的
npm publish //发布包到npm官方库
npm unpublish test //撤销已发布的包
npm unpublish test --force //强制撤销
npm unpublish test@1.0.2 //可以撤销发布自己发布过的某个版本代码
发布自己的包到npm官方库
1、首先创建项目 生成package.json
npm init
package name: (hktest) //包名,可更改,也可以使用默认(直接回车)
version: (1.0.0) 0.0.1 //版本,可更改,也可以使用默认(直接回车)
description: 演示上传npm包 //项目描述,方便别人了解你的模块作用,搜索的时候也有用
entry point: (index.js) //指定了程序的主入口文件,可更改,也可以使用默认(直接回车)
test command: //测试命令(直接回车)
git repository: //git仓库(直接回车)
keywords: //一个字符串数组,方便别人搜索到本模块,可更改,也可以使用默认(直接回车)
author: hk//作者,可更改,也可以使用默认(直接回车)
license: (ISC) //你可以在https://spdx.org/licenses/这个地址查阅协议列表 ,可更改,也可以使用默认(直接回车)
2、创建index.js入口文件
var rename = function (name) {
var str = '用户' + name
return str ;
}
module.exports = {
rename
}
3、新建README.md文件
# hktest
# 快速上手
## 安装
npm install hktest
## 全局注册(在main.js文件里注册)
```javascript
import tool from 'hktest';
global.tool= hktest;
```
## 局部注册
```javascript
import tool from 'hktest';
4、登录发布
登录npm账号:
npm login
没有账号就去npm官网注册或者命令行注册:
npm adduser
登录好了就可以执行发布了:
npm publish
5、更新包及删除、撤销已发布的npm包
更新直接执行:
npm publish
每次发布要改变版本号,且版本号要比上一次版本号大
这里简单介绍一下版本号。
语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。
如果只是修复bug,需要更新Z位。
如果是新增了功能,但是向下兼容,需要更新Y位。
如果有大变动,向下不兼容,需要更新X位。
删除、撤销已发布的npm包
npm unpublish test //撤销已发布的包
npm unpublish test --force //强制撤销
npm unpublish test@1.0.2 //可以撤销发布自己发布过的某个版本的代码
6、发布遇到的问题及解决方案
1、这一步的常规报错及处理
npmERR!publishFailedPUT403
npmERR!codeE403
npmERR!no_permsPrivatemode enable,only admin can publish this module:
出现原因:使用的是淘宝源cnpm,登陆到的是cnpm
解决方法:切换到npmjs的网址,代码如下
npm config set registry https://registry.npmjs.org
2、包名重名报错
报错403:You do not have permission to publish "xxx". Are you logged in as the correct user?
出现原因:所要publish的包的name和npmjs网上已经发布的包的名字重复,所以收你没有权限发布这个名字的包。(简单解释就是你想要的名字被别人抢先注册了)
解决方法:找到package.json文件,把name的值换掉。如果还出现上述错误就是还是重名的,继续换!
3、未激活邮箱报错
报错403:you must verify your email before publishing a new package:
出现原因:没有用邮箱激活登录到注册账号的邮箱 激活一下就好了
7、npm包过滤上传文件 .npmignore
当你上传包到npm库时,有一些本地的依赖文件和测试demo等不想上到npm库里,这时就要用到.npmignore过滤文件了,在根目录下新建文件取名.npmignore,用编辑器打开写入你想过滤文件类型就可以了。
eg:
以上都是我平时遇到的,我总结了一下写了出来,方便大家查看。
如果文中有写错或不对的地方恳请您留言指出批评,若此文对你有帮助,请加关注收藏点赞,谢谢!。