board.png

文章首发于简书(https://www.jianshu.com/p/1d5dc309a586

这个坑踩几次了,为了避免之后再踩,还是记下来备忘吧。

正文

照着官网文档的“项目实战”,运行第一句命令就报错了,如下:

  1. E:\practice\createUmi>yarn create umi
  2. yarn create v1.16.0
  3. [1/4] Resolving packages...
  4. [2/4] Fetching packages...
  5. [3/4] Linking dependencies...
  6. [4/4] Building fresh packages...
  7. success Installed "create-umi@0.13.7" with binaries:
  8. - create-umi
  9. 文件名、目录名或卷标语法不正确。
  10. error Command failed.
  11. Exit code: 1
  12. Command: D:\Program\nodejs\node_modules\bin\create-umi
  13. Arguments:
  14. Directory: E:\practice\createUmi
  15. Output:
  16. 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 ,就可以了