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: