yarn如何全局安装命令以及和环境变量的关系

时间:2022-10-28 20:18:56

npm全局安装

npm i -g xxx

yarn 全局安装

yarn global add xxx

然而你可能会发现npm全局安装后的命令可以直接使用,而yarn却不行,这是为什么呢?

我们来查看下npm和yarn的bin目录

yarn如何全局安装命令以及和环境变量的关系

bin是binary的缩写,意思是存放二进制可执行文件的目录,比如exe,msi等,而npm,yarn全局安装的命令就会从这里面开始查找可执行文件。

那为什么系统会从这个路径下进行查找可执行文件呢?这就要说下环境变量。

简单的说计算机在执行命令的时候是在环境变量找对应的命令的位置的。如果不正确设置环境变量就不能正确使用相应的命令。如果觉得麻烦可以安装IDE,这样一般就不用自己手动设置环境变量了
如果执行某个命令,系统无法在当前文件夹里找到对应的.exe(可执行文件),那么系统就会去环境变量path包含的路径找挨个找看是否能知道对应的.exe,一旦找到第一个对应的.exe就运行命令,其他的路径下就不找了。如果找不到你就会看到“系统找不到某某命令”的提示。

而在安装node的过程,安装进程会自动的增加node和npm的路径到环境变量,如下图:

yarn如何全局安装命令以及和环境变量的关系

所以我们使用npm安装的全局命令,可以直接使用,无需再配置环境变量。

打开bin目录可以发现我们刚刚全局安装的文件

yarn如何全局安装命令以及和环境变量的关系

注意:使用cnpm安装的yarn,如果要卸载,需要使用npm卸载,cnpm卸载不了,卸载完成,需要重启命令行工具。

总结下 yarn的安装方法:

方法1. 官网下载msi文件,双击安装,安装成功后既可全局使用yarn命令

方法2. 使用npm安装yarn

npm i -g yarn

注意:

  1. 使用方法1安装后需要重启命令行工具,命令行工具会重新加载环境变量。
  2. 方法1使用的是yarn的安装目录 C:\Program Files (x86)\Yarn\bin\ 寻找到可执行文件,同时方法1会新建bin目录并在用户变量内增加bin地址
  3. 方法2使用的是npm的bin地址启动
  4. 方法2在安装新命令时,才去新建yarn的bin目录
  5. 使用方法2,yarn全局安装命令需要配置环境变量,将 yarn global bin 的地址配置到用户变量内,然后重启命令行工具

yarn和npm属于两个不同的模块,不要把依靠他们安装的模块混在一起了,如果一个模块的安装比较混乱,导致这个模块的命令不能全局使用,可以尝试一下方法:

  • 在npm, cnpm,yarn中分别卸载该模块
  • 查看计算机程序和功能中是否安装此模块软件,进行卸载
  • 重新安装
  • 重启命令行工具
  • 如果还不行,就检查环境变量,看该模块的目录是否在环境变量中,如果不在,进行添加,然后再重启命令行工具