运行
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 中尝试过了,但都不起作用。
最终成为路径问题。我使用
npm list -g
显示纱线的安装位置。然后我在Windows中搜索“编辑环境变量”并将包含的文件夹添加到PATH中。
在执行这些步骤之前,我还将我的节点和 npm 更新到最新版本。
错误消息表明您没有在指定位置创建目录所需的权限
(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
选择适合您的偏好和系统配置的选项。
只需放置 -->
npm install -g yarn
问题在于,您以 root 身份安装 nvm,当 npm 运行生命周期脚本时,它会降级权限,甚至无法运行 Node 脚本,因为节点二进制文件只能由 root 访问。