npm常用的命令
1. npm -v:查看 npm 版本
2. npm init:初始化后会出现一个 Package.json 配置文件,可以在后面加上 -y,快速跳到问答界面
3. npm install:会根据项目中的 package.json 文件自动给下载项目中所需的全部依赖
**dependencies:是生产和开发都会用到的依赖包,会被打包到项目中。**
**devDependencies:是只在开发环境中使用的依赖包,不会被打包到项目中。**
npm i 的话,是安装在dependencies中,也就是说生产和开发都会用到
4. npm insall 包含 --sava-dev (npm install 包含 -D) : 安装的包只用于开发环境,不用于生产环境,会出现在 package.json 文件中的 **devDependencies** 属性中
5. npm insall 包含 --sava (npm install 包含 -S) : 安装的包需要发布到生产环境的,会出现在 package.json 文件中的 dependenceies 属性中
6. npm list:查看当前目录下已安装的node包
7. npm list -g:查看全局已经安装过的node包
8. npm --help : 查看npm帮助命令
9. npm update包名 : 更新指定包
10. npm uninstall 包名 : 卸载指定包
11. npm config list :查看配置信息
12. npm 指定命令--help : 查看指定命令的帮助
13. npm info 指定包名 : 查看远程npm上指定包的所有版本信息
15. npm root :查看当前包的安装路径
16. npm root -g : 查看全局的包的安装路径
17. npm ls 包名 : 查看本地安装的指定包及版本信息,没有显示empty
18. npm ls包名 -g : 查看全局安装的指定包及版本信息,没有显示empty
20. #升级当前项目或全局的指定模块 $ npm update <name> [-g]
执行npm cache clean --force 报错
用最新的命令即可:npm cache verify
通过cnpm使用淘宝镜像:
npm install -g cnpm --registry=https://registry.npm.taobao.org
1
将npm设置为淘宝镜像:
npm config set registry https://registry.npm.taobao.org
1
切换回默认全局镜像
npm config set registry https://registry.npmjs.org
1
查看npm镜像设置:
npm config get registry
1
查看npm配置
npm config list
1
查看cnpm配置
cnpm config list
- npm 初始化当前目录
npm init -y
## yarn 常见命令
yarn 安装
npm install -g yarn
查看版本
yarn -v
开始一个新工程
yarn init 与 npm init 一样通过交互式会话创建一个 package.json
yarn init # yarn
npm init # npm
跳过会话,直接通过默认值生成 package.json
yarn init --yes # 简写 -y
npm init -y
添加一个依赖
通过 yarn add 添加依赖会更新 package.json 以及 yarn.lock 文件
1).开发环境
yarn add --dev 依赖会记录在 package.json 的 devDependencies 下 开发环境
yarn add webpack --dev # yarn 简写 -D
npm install webpack --save-dev # npm
2).生产环境
yarn add 依赖会记录在 package.json 的 dependencies 下 生产环境
yarn add webpack@2.3.3 # yarn --save 是 yarn 默认的,默认记录在 package.json 中
npm install webpack@2.3.3 --save # npm
3).全局
yarn global add 全局安装依赖
yarn global add webpack # yarn
npm install webpack -g # npm
更新一个依赖
yarn upgrade # 升级所有依赖项,不记录在 package.json 中
npm update # npm 可以通过 ‘--save|--save-dev’ 指定升级哪类依赖
yarn upgrade webpack # 升级指定包
npm update webpack --save-dev # npm
yarn upgrade --latest # 忽略版本规则,升级到最新版本,并且更新 package.json
移除一个依赖
yarn remove
安装 package.json 中的所有文件
yarn 或者 yarn install
yarn install # 或者 yarn 在 node_modules 目录安装 package.json 中列出的所有依赖
npm install # npm
yarn install 安装时,如果 node_modules 中有相应的包则不会重新下载 --force 可以强制
重新下载安装
yarn install --force # 强制下载安装
npm install --force # npm
运行脚本
yarn run 用来执行在 package.json 中 scripts 属性下定义的脚本
// package.json
{
"scripts": {
"dev": "node app.js",
"start": "node app.js"
}
}
yarn run dev # yarn 执行 dev 对应的脚本 node app.js
npm run # npm
yarn start # yarn
npm start # npm
与 npm 一样 可以有 yarn start 和 yarn test 两个简写的运行脚本方式
显示某个包信息
yarn info
列出项目的所有依赖
yarn list
yarn list # 列出当前项目的依赖
npm list # npm
yarn list --depth=0 # 限制依赖的深度
sudo yarn global list # 列出全局安装的模块
管理 yarn 配置文件
yarn coinfig
yarn config set key value # 设置
npm config set key value
yarn config get key # 读取值
npm config get key
yarn config delete key # 删除
npm config delete key
yarn config list # 显示当前配置
npm config list
yarn config set registry https://registry.npm.taobao.org # 设置淘宝镜像
npm config set registry https://registry.npm.taobao.org # npm
缓存
yarn cache
sudo yarn cache list # 列出已缓存的每个包
sudo yarn cache dir # 返回 全局缓存位置
常见错误处理
如果出现以下错误:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
解决办法为:
$ npm config set proxy null
3、cnpm报错 : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本

主要原因时没有执行可用脚本
解决:
以管理员身份运行power shell,输入set-ExecutionPolicy RemoteSigned

yarn 与npm 主要的区别
1. yarn虽然和nom一样是本地缓存,但是yarn无需互联网链接就能安装本地缓存的依赖项,提供了离线模式,而这个是npm实现不了的。
2. yarn解决了由于语义版本控制而导致的npm的不确定性问题,通过安装时创建的默认文件,确保使用的库的版本相同。
3. yarn增加了一些能让开发人员并行化处理所有必需的操作,且通过添加了一些改进,使得运行速度有了显著的提升,整个安装时间也变得更少。
4. npm的输出信息比较冗长,相比之下,yarn简洁很多。默认情况下,直观且直接地打印出必要的信息。
5. yarn的语义相对于npm更加清晰,主要是因为yarn改变了一些npm的命令名称,看上去就更清晰了。
Package.json 属性说明
- name - 包名。
- version - 包的版本号。
- description - 包的描述。
- homepage - 包的官网 url 。
- author - 包的作者姓名。
- contributors - 包的其他贡献者姓名。
- dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
- repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
- main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
- keywords - 关键字