文章首发于简书(https://www.jianshu.com/p/1d5dc309a586 )
这个坑踩几次了,为了避免之后再踩,还是记下来备忘吧。
正文
照着官网文档的“项目实战”,运行第一句命令就报错了,如下:
E:\practice\createUmi>yarn create umi
yarn create v1.16.0
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "create-umi@0.13.7" with binaries:
- create-umi
文件名、目录名或卷标语法不正确。
error Command failed.
Exit code: 1
Command: D:\Program\nodejs\node_modules\bin\create-umi
Arguments:
Directory: E:\practice\createUmi
Output:
info Visit https://yarnpkg.com/en/docs/cli/create for documentation about this command.
这真的很让人奔溃。。。
于是我找到“D:\Program\nodejs\node_modules\bin\”目录下的 create-umi.cmd,内容如下:
@"%~dp0\C:\Users\PC\AppData\Local\Yarn\Data\global\node_modules\.bin\create-umi.cmd" %*
然后就大概猜到是什么问题了,就是这个路径的问题,在windows系统下,盘符前哪里还需要什么 ‘%~dp0’ 符号,所以果断将 C: 盘符前的符号删了,如下:
@"C:\Users\PC\AppData\Local\Yarn\Data\global\node_modules\.bin\create-umi.cmd" %*
保存后,重新运行一下 “create-umi”命令,就可以正常运行了。保存后,重新运行一下 “create-umi”命令,就可以正常运行了。
补充
如果运行 ‘create-umi’ 命令,提示“不是内部或外部命令”,
原因是没有把 “D:\Program\nodejs\node_modules\bin” 路径加入系统的 path 环境变量中,
加入之后,重新打开命令行,就可以解决问题了。
注意
**
修改了 create-umi.cmd 之后,不要再运行 yarn create umi,因为这会重新安装一次,导致之前修改的文件被覆盖。
修改 create-umi.cmd 之后:
1、将 create-umi.cmd 所在的文件夹路径(我的是“D:\Program\nodejs\node_modules\bin”),加入系统环境变量 path 中
2、重启命令行,之后直接在命令行运行 create-umi ,就可以了