npm与yarn常用命令

75 阅读3分钟

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,因为在此系统上禁止运行脚本

![](https://img-blog.csdnimg.cn/2e9ee06a9d3c4a3b93dd670c08ae4059.png)

 

 

 主要原因时没有执行可用脚本

解决:

以管理员身份运行power shell,输入set-ExecutionPolicy RemoteSigned

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9372fba01c1a4499bc007ffd0c65db7e~tplv-k3u1fbpfcp-zoom-1.image)

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 - 关键字