yarn如何全局安装命令以及和环境变量的关系
npm全局安装
npm i -g xxx
yarn 全局安装
yarn global add xxx
然而你可能会发现npm全局安装后的命令可以直接使用,而yarn却不行,这是为什么呢?
我们来查看下npm和yarn的bin目录

bin是binary的缩写,意思是存放二进制可执行文件的目录,比如exe,msi等,而npm,yarn全局安装的命令就会从这里面开始查找可执行文件。
那为什么系统会从这个路径下进行查找可执行文件呢?这就要说下环境变量。
简单的说计算机在执行命令的时候是在环境变量找对应的命令的位置的。如果不正确设置环境变量就不能正确使用相应的命令。如果觉得麻烦可以安装IDE,这样一般就不用自己手动设置环境变量了
如果执行某个命令,系统无法在当前文件夹里找到对应的.exe(可执行文件),那么系统就会去环境变量path包含的路径找挨个找看是否能知道对应的.exe,一旦找到第一个对应的.exe就运行命令,其他的路径下就不找了。如果找不到你就会看到“系统找不到某某命令”的提示。
而在安装node的过程,安装进程会自动的增加node和npm的路径到环境变量,如下图:

所以我们使用npm安装的全局命令,可以直接使用,无需再配置环境变量。
打开bin目录可以发现我们刚刚全局安装的文件

注意:使用cnpm安装的yarn,如果要卸载,需要使用npm卸载,cnpm卸载不了,卸载完成,需要重启命令行工具。
总结下 yarn的安装方法:
方法1. 官网下载msi文件,双击安装,安装成功后既可全局使用yarn命令
方法2. 使用npm安装yarn
npm i -g yarn
注意:
- 使用方法1安装后需要重启命令行工具,命令行工具会重新加载环境变量。
- 方法1使用的是yarn的安装目录 C:\Program Files (x86)\Yarn\bin\ 寻找到可执行文件,同时方法1会新建bin目录并在用户变量内增加bin地址
- 方法2使用的是npm的bin地址启动
- 方法2在安装新命令时,才去新建yarn的bin目录
- 使用方法2,yarn全局安装命令需要配置环境变量,将 yarn global bin 的地址配置到用户变量内,然后重启命令行工具
yarn和npm属于两个不同的模块,不要把依靠他们安装的模块混在一起了,如果一个模块的安装比较混乱,导致这个模块的命令不能全局使用,可以尝试一下方法:
- 在npm, cnpm,yarn中分别卸载该模块
- 查看计算机程序和功能中是否安装此模块软件,进行卸载
- 重新安装
- 重启命令行工具
- 如果还不行,就检查环境变量,看该模块的目录是否在环境变量中,如果不在,进行添加,然后再重启命令行工具
yarn如何全局安装命令以及和环境变量的关系的更多相关文章
- 修改Yarn的全局安装和缓存位置
在CMD命令行中执行 #1.改变 yarn 全局安装位置 yarn config set global-folder "你的磁盘路径" #2.然后你会在你的用户目录找到 `.yar ...
- 转 关于window10安装jdk,配置环境变量,javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节问题。
今日拿到一台新的window10笔记本电脑,非常熟练的安装了JDK(因为在学校经常给同学安装JDK - -)但是发现java java -version命令都可以使用,唯独javac命令出现不是内部或 ...
- linux查看java jdk jre安装路径和设置环境变量
一. 查看java jdk安装路径和设置环境变量 windows: set java_home:查看JDK安装路径 java -version:查看JDK版本 linux: whereis java ...
- ***LINUX添加PHP环境变量:CentOS下将php和mysql命令加入到环境变量中
CentOS系统下如何将PHP和mysql命令加入到环境变量中,在Linux CentOS系统上 安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到 ...
- windows dos命令窗口的环境变量
今天安装maven的时候遇到mvn -v显示mvn不是命令行,环境变量maven_home和path路径都配置了. 首先查看windows下的环境变量: >set maven_home MAVE ...
- Ubuntu安装JDK与配置环境变量
Ubuntu14.04安装JDK与配置环境变量 工具/原料 Ubuntu14.04系统 方法/步骤 先从Oracle官网下载JDK.先选择同意按钮,然后根据自己的系统下载相应版本.我的系统 ...
- window 远程在Linux(centOS7.0)上安装JDK以及配置环境变量
本人是在windows 7 上安装了虚拟机,虚拟机安装的是linux(centOS7.0)系统现在在Windows 上安装SecureCRT 远程虚拟机的linux系统,安装JDK以及配置环境变量. ...
- windows下手动安装composer并配置环境变量
windows下手动安装composer并配置环境变量 转载地址: https://my.oschina.net/7sites/blog/209997 之前发表过一篇如何为composer设置代理 ...
- 安装JDK并配置环境变量以及Hello World
摘要:本文主要说明在Windows环境下JDK的安装,以及安装完成之后环境变量的配置,并通过DOS运行简单的Java程序. 安装JDK 说明 SDK:软件开发工具包(Software Developm ...
随机推荐
- c++入门之—运算符重载和友元函数
运算符重载的意义是:将常见的运算符重载出其他的含义:比如将*重载出指针的含义,将<<与cout联合使用重载出输出的含义,但需要认识到的问题是:运算符的重载:本质仍然是成员函数,即你可以认为 ...
- c++入门之运算符重载
c++函数重载:可以将一个函数名用于不同功能的函数.从而处理不同的对象.对于运算符,同样也有这样的用途,即对同一个标志符的运算符,可以运用到不同的功能中去. 首先引入:运算符重载,在C语言中甚至都有运 ...
- Linux下php安装redis扩展(redis已经安装)
1. 下载需要的php操作redis的扩展包 (1).切换到 cd /usr/local/src (2). wget https://github.com/nicolasff/phpredis ...
- python中filter(),reduce()函数
filter()函数 是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 和一个list,这个函数的作用是对每个元素进行判断,返回 True或 False,filter() ...
- 行政区划sql数据脚本
行政区划sql数据脚本 IF (EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TB_Province]') ...
- snappy
Snappy 是一个 C++ 的用来压缩和解压缩的开发包.其目标不是最大限度压缩或者兼容其他压缩格式,而是旨在提供高速压缩速度和合理的压缩率.Snappy 比 zlib 更快,但文件相对要大 % 到 ...
- 非常详细的Docker学习教程
一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...
- spring AOP源码分析(一)
对于springAOP的源码分析,我打算分三部分来讲解:1.配置文件的解析,解析为BeanDefination和其他信息然后注册到BeanFactory中:2.为目标对象配置增强行为以及代理对象的生成 ...
- vue二次实战(二)
https://www.cnblogs.com/jellify/p/9522477.html install的弹出框中输入sublimeTmpl,找到sublimeTmpl这个插件后回车 Vue路由 ...
- 虚拟机的ip地址为什么会发生变化
因为虚拟机在NAT模式下由Vmware8虚拟网卡提供虚拟机的IP分配,网桥模式下由Vmware1来提供IP分配.它们都相当于 一个小型的DHCP服务器,除非改动虚拟机的网络连接方式,或动了虚拟网卡服务 ...