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 ...
随机推荐
- 敏捷开发、DevOps相关书籍——书单
自己瞎整理的一些书单,都是豆瓣评分比较高的书,可以作为选择的一个参考. 书名 豆瓣链接 持续交付:发布可靠软件的系统方法 https://book.douban.com/subject/6862062 ...
- Git使用过程中的问题
Q-1:怎么切换到远程的分支 本地已经有一个代码库了(是从github上clone的),但是现在远程库中一个新的branch,怎么拉取远程分支,并在本地创建该分支(内容一样).how to do? # ...
- 虚拟机Ubuntu图形界面进入命令行快捷键
ctrl+alt+f2 https://jingyan.baidu.com/article/03b2f78c69e5c25ea337ae40.html https://www.zabbix.com/d ...
- Azure系列2.1.11 —— CloudBlobContainer
(小弟自学Azure,文中有不正确之处,请路过各位大神指正.) 网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少.这次由于公司项目需要使用Azure,所以对Azure的一些学习 ...
- [学习]UX 测试 5S 范围
最近被UX测试搞的死去活来的 郁闷坏了. 豆瓣上面有一个介绍: 好的框架总是简洁的. Strategy - Scope - Structure - Skeleton - Surface五个层面,用bo ...
- Latex常用
插入罗马数字 \newcommand{\RNum}[1]{\uppercase\expandafter{\romannumeral #1\relax}} 然后在正文里面就可以用\RNum{}来添加罗马 ...
- js尾递归函数
普通递归: function fac(n) { if (n === 1) return 1; return n * fac(n - 1); } fac(5) // 120 这是个阶乘.但是占用内存,因 ...
- llegalStateException: getWriter() has already been called for this response
我使用Springmvc的处理器进行向AJAX传值时出现的问题 当我使用 PrintWriter out = response.getWriter();out.print("用户不存在,请先 ...
- mysql第一天【mysqldump导出数据和mysql导入数据】
1.使用mysqldump导出数据到本地sql文件 在mysql>bin下执行: 例如: mysqldump -hrm-2ze8mpi5i65429l1qvo.mysql.rds.aliyunc ...
- 阿里云服务器晚上运行定时任务报Too many connections
1. 相关查询连接数的命令 mysql>show variables like '%max_connections%'; +-------------------------+--------- ...