(简书福利¥2000 阿里云红包http://wz4.in/1k2nC)
问题
安装umi时报错 'E:\Program' 不是内部或外部命令,也不是可运行的程序
PS D:\project\myapp> yarn create umi
yarn create v1.17.3
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "create-umi@0.17.1" with binaries:
- create-umi
'E:\Program' 不是内部或外部命令,也不是可运行的程序
error Command failed.
Command: E:\Program Files (x86)\Yarn\bin\create-umi
Directory: D:\project\myapp
info Visit https://yarnpkg.com/en/docs/cli/create for documentation about this command.
PS D:\project\myapp> yarn global bin
E:\Program Files (x86)\Yarn\bin
解决办法
PS D:\project\myapp> yarn global add create-umi --prefix "E:\Program Files (x86)\Yarn\bin"
yarn global v1.17.3
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "create-umi@0.17.1" with binaries:
- create-umi
Done in 28.19s.
原理
执行yarn create umi命令时,因为 yarn global bin目录
E:\Program Files (x86)\Yarn\bin'
中有空格,空格前后被误当成两个命令参数(windows cmd命令参数分隔符默认为空格),所以报错。
yarn create umi
等同于yarn global add create-umi --prefix "E:\Program Files (x86)\Yarn\bin"
,后者用引号将路径引起来就不会报错了。