Windows用户文件夹路径含空格时Yarn PM无法运行求助
解决Yarn在含空格的用户目录下执行
yarn create命令失败的问题 关于你的假设
你的猜测是正确的。yarn create <app-name>这类命令本质是调用对应的create-*包的可执行文件,整个流程依赖Yarn自身的缓存和全局bin目录,不会使用npm的缓存,所以之前针对npm缓存目录的修改方法无法解决问题。
可行的解决方法
方法1:修改Yarn全局路径到无空格目录(推荐)
这是一劳永逸的方案,彻底避免路径空格带来的解析问题:
- 首先创建两个不含空格的目录,比如
C:\Yarn\Global和C:\Yarn\Cache - 打开终端执行以下命令配置Yarn:
yarn config set prefix "C:\Yarn\Global" yarn config set cache-folder "C:\Yarn\Cache" - 打开系统环境变量设置:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量的
PATH中添加C:\Yarn\Global\bin - 重启终端,重新执行
yarn create nuxt-app hello_world即可
方法2:直接带引号调用可执行文件(应急方案)
临时绕过Yarn的路径解析问题,直接执行create-nuxt-app的完整路径:
"C:\Users\Firstname Surname\AppData\Local\Yarn\bin\create-nuxt-app" hello_world
此方法仅适用于当前命令,后续其他yarn create命令可能仍会出现相同问题。
方法3:修复Yarn生成的bat脚本(针对性解决)
针对create-nuxt-app的脚本文件进行修改,解决路径空格解析错误:
- 找到路径
C:\Users\Firstname Surname\AppData\Local\Yarn\bin下的create-nuxt-app.cmd文件 - 用记事本或编辑器打开,找到调用node的行,将脚本路径用双引号包裹:
原内容可能类似:
修改为:@echo off node C:\Users\Firstname Surname\AppData\Local\Yarn\Data\global\node_modules\create-nuxt-app\cli.js %*@echo off node "C:\Users\Firstname Surname\AppData\Local\Yarn\Data\global\node_modules\create-nuxt-app\cli.js" %* - 保存后重新执行
yarn create nuxt-app hello_world即可
内容的提问来源于stack exchange,提问作者Vicky Dev
相关产品推荐
相关产品推荐

