为什么我的“npm install --global yarn”不起作用?

问题描述 投票:0回答:3

运行

npm install --global yarn
后,我得到一个输出:

> [email protected] preinstall C:\Users\(me)\AppData\Roaming\npm\node_modules\yarn
> :; (node ./preinstall.js > /dev/null 2>&1 || true)

C:\Users\(me)\AppData\Roaming\npm\yarn -> C:\Users\(me)\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js
C:\Users\(me)\AppData\Roaming\npm\yarnpkg -> C:\Users\(me)\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js
+ [email protected]
updated 1 package in 0.389s

当我运行“yarnserve”时,它告诉我“yarn”不被识别为命令。我已经在 powershell 和 CMD 中尝试过了,但都不起作用。

node.js npm yarnpkg
3个回答
3
投票

最终成为路径问题。我使用

npm list -g
显示纱线的安装位置。然后我在Windows中搜索“编辑环境变量”并将包含的文件夹添加到PATH中。

在执行这些步骤之前,我还将我的节点和 npm 更新到最新版本。


0
投票

错误消息表明您没有在指定位置创建目录所需的权限

(C:\Program Files\nodejs\node_modules\yarn)
。这是 Windows 上尝试安装全局包时的常见问题。

要解决此问题,您有以下几种选择:

以管理员身份运行命令提示符:

右键单击命令提示符图标并选择“以管理员身份运行”。然后,尝试运行

npm install yarn -g command

再次。

使用节点版本管理器 (NVM):

不要直接安装 Node.js,而是考虑使用 NVM 等节点版本管理器。 NVM 允许您安装和管理 Node.js 的多个版本,而无需管理权限。安装 NVM 后,您可以轻松地在 Node.js 版本之间切换并安装全局包,无需管理权限。

更改全局节点模块目录:

您可以将 npm 配置为使用您具有写入权限的目录。例如,您可以在用户配置文件中为全局 npm 包创建一个目录:

mkdir "%USERPROFILE%\npm-global" npm config set prefix
"%USERPROFILE%\npm-global"

然后,将 npm-global/bin 目录添加到系统 PATH 中。

完成此设置后,您应该能够在没有管理权限的情况下安装全局包:

npm install -g yarn

选择适合您的偏好和系统配置的选项。


-1
投票

只需放置 -->

npm install -g yarn

问题在于,您以 root 身份安装 nvm,当 npm 运行生命周期脚本时,它会降级权限,甚至无法运行 Node 脚本,因为节点二进制文件只能由 root 访问。

© www.soinside.com 2019 - 2024. All rights reserved.