安装yarn(在linux上安装yarn)

本文目录
- 在linux上安装yarn
- npm 或者 yarn 安装报错 C:\WINDOWS\system32\cmd.exe
- 梳理 node、npm、yarn 相关路径
- 通过yarn安装vue cli后无法执行vue命令
在linux上安装yarn
一、npm方式安装yarn,前提是先安装nodejs,并确定npm node命令全局可以用
二、安装yarn
三、建立软连接 将yarn命令软链接到全局
npm 或者 yarn 安装报错 C:\WINDOWS\system32\cmd.exe
错误描述
Error: Command failed: C:\WINDOWS\system32\cmd.exe /s /c "./configure --disable-shared --prefix="E:\work\fly-eagle\node_modules\cwebp-bin\vendor" --bindir="E:\work\fly-eagle\node_modules\cwebp-bin\vendor""
解决办法, 使用 cnpm install
梳理 node、npm、yarn 相关路径
如果你对 npm、yarn 全局安装路径存疑,很混乱分不清,那么这篇文章应该能帮到你。本文以 macOS 为例,不同操作系统可能略有差异。
其实在安装完 Node 之后,便有类似提示:
可以得知 Node 和 NPM 的默认安装路径是 /usr/local/bin 。如果 /usr/local/bin 路径并不存在于环境变量 PATH 中,需在配置文件中写入。比如:
具体配置文件是 ~/.bash_profile 还是 ~/.zshrc ,取决于你当前使用哪一种 Shell 解析器。
使用 which 命令可查看「可执行文件」的路径,比如:
其中 /usr/local/bin 目录下的可执行文件多是软链接,并非文件真正所在路径。
说明一下,本文将以这种方式安装的 Node 称为系统版本的 Node,用于区别使用 nvm 安装的 Node。
从 npm Docs 官方文档中,对「全局安装」如何存放文件都有比较清晰的描述( 详看 ),翻译过来就是:
其中 prefix 是 npm 的一个配置项( 详见 ),它的默认值与 Node 的安装位置有关。在 Unix/Linux/Mac 操作系统中,通常是 /usr/local 。在 Windows 操作系统上通常是 %AppData%\npm 。其中「可执行文件」是指 package.json 中 bin 字段的配置项。
使用 npm config 命令可对 prefix 配置进行操作:
也可在配置文件 ~/.npmrc 直接进行修改( 详见 )。
因此,
可通过以下命令查看:
可通过 npm ls 命令查看全局安装的依赖包,个人更喜欢使用其别名 npm list ,原因是它跟 yarn list 一致。
其打印结果为树状形式,可配合 --depth=n 参数使用以查看包的依赖信息,其中 n 表示树状深度。上面的 npm list -g 相当于 npm list -g --depth=0 。
插个话,在 v2 版本有着较大的差异,比如在 v2 版本将 yarn global 移除,其替代者是 yarn dlx ,更多 请看 ,这里不展开赘述了。
yarn 全局安装路径与 npm 不同,默认情况下:
可通过以下命令查看:
若要修改以上配置,可通过 yarn config 命令处理:
需要注意的是,修改全局安装路径的配置 key 是 global-folder ,可执行文件的 key 为 prefix 。别跟 npm 混淆了。
也可以在配置文件 ~/.yarnrc 直接修改:
需要注意的是,其中 npm 配置文件使用的是 ini-formatted 格式,也就是 key=value 形式,而 yarn 则是 key "value" 形式。
我们知道 npm(Node Package Manager)是 Node 包管理工具,而 nvm(Node Version Manager)则是 Node 版本管理工具。它可以通过命令行快速安装、使用不同版本的 Node。
假设有多个项目使用了不同版本的 Node,或者需要在不同版本的 Node 下测试我们开发的 npm 包,那么使用 nvm 将会很高效。其安装不展开细说,请看 官方文档 。
第一节已经介绍了,使用「传统」的方法安装其路径如下:
但如果使用 nvm 来管理 Node,这些都将会发生变化。当使用官方指引来安装 nvm,相关内容将会默认存放至 ~/.nvm 目录。
当使用 nvm install 来安装 Node,比如:
它将会存放于 ~/.nvm/versions/node/v16.14.0 目录下。
切换 system Node 与 nvm Node,只要通过以下方式即可:
我们观察一下 prefix 的变化就知道其安装路径了:
因此,在使用 nvm 管理的情况下:
前面提到过, prefix 的默认位置与 Node 的安装路径有关。比如,在 Unix/Linux/Mac 操作系统中, prefix 通常是 Node 安装路径的上一级,也就是 ~/.nvm/versions/node/vX.X.X 目录。因此,当我们在切换 Node 版本中,它总能正确地安装到 /usr/local/lib/node_modules 或 ~/.nvm/versions/node/vX.X.X/lib/node_modules/ 目录。
但是,如果在 ~/.npmrc 中配置了 prefix ,无论你如何切换 Node 版本,它总是被安装至所配置的路径下。
这样就违背了用 nvm 的初心,自定义 prefix 配置与 nvm 不兼容。nvm 在其官方文档中用指出( 详见 ):
如果你此刻用着 nvm,同时没有意识到这个问题,建议立刻去检查并将其移除。
目前,我同时使用着 nvm、npm、yarn(v1)三个工具,那么平常是这样管理它们的:
基于这种原则下,全局安装的依赖包将有这些路径:
使用以下命令,可查看全局依赖包所在路径:
使用以下命令,可查看已安装的全局依赖包:
到此,本文结束。以上希望可以帮你厘清个中混淆之处。
The end.
通过yarn安装vue cli后无法执行vue命令
在安装 @vue/cli 脚手架的时候,通过npm安装总是无法成功,改用淘宝镜像安装也是一样的。自己改用yarn安装,确实能够安装,但是安装完成后无法执行vue命令,执行时提示如下错误:
但是通过 yarn global list 命令查看时,确实看到已经安装了。在网上找了一圈,发现是没有在系统环境变量中添加yarn路径的原因。
在系统环境变量中添加 yarn 的 bin 路径。

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30




