npm常用操作

npmNode.js的包管理工具(package manager),npm 由三个独立的部分组成: 网站(开发者查找包,设置参数以及管理npm的主要途径) 注册表(保存每个包(package)的信息) 命令行工具(通过命令行或终端运行。开发者通过 CLInpm 打交道)。

npm install 安装包 或 npm i 包名

npm install jquery或 npm install jquery@2.2.4 安装指定版本

  • 本地项目包
    npm i <包>
    安装在当前项目目录(node_modules)下,根据模块访问规则,当前项目以及子项目可访问。一般用于安装项目独立使用的包。
  • 全局包
    npm i -g <包>
    安装在 npm 指定的全局目录下,通过全局模块访问机制可以在全局范围内访问。一般用于安装工具性质的包。
  • 一次性安装多个模块 npm i gulp-pug gulp-debug gulp-sass

    npm ls 查看已经安装的依赖包

npm update 更新包

注: jquery@2.2.4 执行 npm update之后,只会更新jquery@2.x.x以后的小版本,不会直接更新到3.x.x版本, 如需下载3.x版本重新安装需要的版本即可

  • 更新单个全局包 npm update <name> -g
  • 更新项目生产环境依赖包 npm update <name> -save
  • 更新项目开发环境依赖包 npm update <name> -save-dev

更新依赖包

  • 检测依赖包 npm i npm-check-updates -g
  • 查看哪些依赖包需要更新 ncu
  • 更新package.json文件中的依赖包为最新版本
  • 安装最新的依赖包 npm i
  • npm outdate 查看安装包有没有版本更新

npm run 查看 package.json中有哪些 npm script命令

npm uninstall <包名> 或 npm uni <包名> 卸载包

npm uninstall rimraf -g 或 npm uni rimraf -g

查看包信息

  • npm view vue 或 npm v vue 查看安装包所有信息

    1
    2
    3
    npm  v vue
    vue@2.6.14 | MIT | deps: none | versions: 360
    beta: 3.2.0-beta.8 csp: 1.0.28-csp latest: 2.6.14 next: 3.2.21
  • npm v vue version 查看包最新版本

    1
    2
    npm  v vue version
    2.6.14
  • npm view <packagename> versions 或 npm view <packagename> versions --json 查看指定包的所有版本

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    npm view rimraf versions
    [
    '1.0.0', '1.0.1', '1.0.2', '1.0.4', '1.0.5',
    '1.0.6', '1.0.7', '1.0.8', '1.0.9', '2.0.0',
    '2.0.1', '2.0.2', '2.0.3', '2.1.0', '2.1.1',
    '2.1.2', '2.1.3', '2.1.4', '2.2.0', '2.2.1',
    '2.2.2', '2.2.3', '2.2.4', '2.2.5', '2.2.6',
    '2.2.8', '2.3.0', '2.3.1', '2.3.2', '2.3.3',
    '2.3.4', '2.4.0', '2.4.1', '2.4.2', '2.4.3',
    '2.4.4', '2.4.5', '2.5.0', '2.5.1', '2.5.2',
    '2.5.3', '2.5.4', '2.6.0', '2.6.1', '2.6.2',
    '2.6.3', '2.7.0', '2.7.1', '3.0.0', '3.0.1',
    '3.0.2'
    ]

npm root -g 查看全局包的安装路径

npm init 快速创建 package.json 需要手动选择配置

npm init –yes或-y 直接跳过参数问答环节,快速生成package.json

npm config list 查看npm基础配置

npm config get prefix 获取全局安装的默认目录

npm config set key value 设置npm镜像和node-sass

npm i -g与 npm i -S 或 npm i -D 区别

  • npm i xxx -g 全局安装
  • npm i xxx -Snpm i xxx --save的简写 安装的插件会在package.json文件中写入到dependencies对象里面去,dependencies需要发布到生产环境.(生产依赖/项目依赖包) 开发时使用,上线还需要
  • npm i xxx -Dnpm i xxx --save-dev的简写 安装的插件会在package.json文件中写入到devDependencies对象里面去,devDependencies里面的插件只用于开发环境不用于生产环境.(开发依赖) 开发时需要,线上不需要

发布自己的模块包

  • package.json文件 项目(模块、包)说明配置文件,该文件描述了当前包的信息,只有拥有package.json文件的项目才可以被发布
    自动创建package.json npm init / npm init --yes

    1
    2
    3
    4
    5
    6
    7
    package.json
    name:包名称,必填
    version:版本,必填,格式 x.x.x
    main : 包的入口主文件
    scripts:自定义脚本,通过 npm run 脚本名称即可执行脚本定义的命令
    dependencies:生产环境下需要使用的依赖包
    devDependencies:只做开发环境(测试环境)下使用的依赖包
  • 注册 npmjs.org 账号

  • 登录 npm adduser / npm login 要切回到npm源
  • 发布 npm publish 查看发布的npm包

快速删除node_modules依赖或文件

  • npm i rimraf -g 全局安装 rimraf 模块
  • rimraf node_modules

cmd中 set 可以查看所有的环境变量

npm script 串行 或者 并行

{"test": "npm run lint:js && npm run lint:css && npm run lint:json && npm run lint:markdown"}
这也是让多个 npm script 串行的典型用例,实现方式也比较简单,只需要用 && 符号把多条 npm script 按先后顺序串起来即可
{"test": "npm run lint:js & npm run lint:css & npm run lint:json & npm run lint:markdown & wait"}
需要把子命令的运行从串行改成并行,实现方式更简单,把连接多条命令的 && 符号替换成 & 即可。
{"test": "npm-run-all lint:js lint:css lint:json lint:markdown"} 或 {"test": "npm-run-all lint:*"}
我们可以使用 npm-run-all 实现更轻量和简洁的多命令运行。需要安装 npm i npm-run-all -D

使用–ignore-scripts解决npm/yarn安装依赖失败问题

1
2
3
4
5
6
7
8
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! plantomjs-prebuilt@2.1.14 install: `node ./build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the plantomjs-prebuilt@2.1.14 install script.
// 可以加上参数 --ignore-scripts 再进行安装
npm i plantomjs-prebuilt@2.1.14 --ignore-scripts
-------------本文结束感谢您的阅读-------------
0%