如标题所述,如果我的 UserProfile 文件夹路径中有空格,我刚刚在系统(Windows 11 64 位)中安装的 Yarn PM(包管理器)将无法工作。
我的用户文件夹名称是“名字姓氏”,因此当我尝试
yarn create nuxt-app hello_world
时,经过几个成功步骤后,它会抛出以下错误并退出:
- create-nuxt-app
'C:\Users\Firstname' is not recognized as an internal or external command,
operable program or batch file.
error Command failed.
Exit code: 1
Command: C:\Users\Firstname Surname\AppData\Local\Yarn\bin\create-nuxt-app
Arguments: hello_world
Directory: <path/to/my/project>
Output:
我已经尝试按照这个答案的建议进行操作,但徒劳无功,我猜
yarn
不使用npm-cache
作为create-app-<x>
命令。
我的假设错了吗? NuxtJS 安装在我的系统中,所以没有问题。
如何修复上述错误?当然,我会尽量避免更改我的用户配置文件文件夹名称。
首先,运行以下命令:
yarn cache dir
yarn global bin
示例输出应类似于:
C:\Users\Firstname Lastname\AppData\Local\Yarn\Cache\v6
C:\Users\Firstname Lastname\AppData\Local\Yarn\bin
复制两个输出,然后运行以下两个命令,根据您的用户名名字稍加修改:
yarn config set cache-folder "C:\Users\Firstname~1\AppData\Local\Yarn\Cache"
yarn config set prefix "C:\Users\Firstname~1\AppData\Local\Yarn"
尝试使用yarn create,如果不起作用请尝试解决方案2。
有问题的路径用作示例:
C:\Users\FirstName LastName
关闭所有正在运行的 shell 在管理模式下运行cmd(mklink是cmd的一个功能,在PowerShell中不起作用)
使用 mklink 命令创建目录连接(目录硬链接):
mklink /J "C:\Users\FirstNameLastName" "C:\Users\FirstName LastName"
运行命令
yarn cache dir
yarn global bin
记下输出,它们看起来像这样:
C:\Users\FirstName LastName\AppData\Local\Yarn\Cache\v6
C:\Users\FirstName LastName\AppData\Local\Yarn\bin
运行命令
yarn config set cache-folder "C:\Users\FirstNameLastName\AppData\Local\Yarn\Cache"
yarn config set prefix "C:\Users\FirstNameLastName\AppData\Local\Yarn"
重新加载你的shell
运行命令
yarn cache dir
yarn global bin
确认新输出
假设路径已正确更改,yarn create 现在应该可以正常工作。
纱线包装。 “如果 Yarn 位于文件路径有空格的文件夹中,则无法运行 Yarn Create · 问题 #6851 · Yarnpkg/Yarn。” GitHub,github.com/yarnpkg/yarn/issues/6851。