今天新拉的一个项目,在 yarn 安装完依赖后,执行启动命令 yarn start
报错 'sh' 不是内部或外部命令,也不是可运行的程序
,详细报错信息如下:
yarn run v1.22.21
$ cross-env NODE_OPTIONS=--max_old_space_size=12000 COMPRESS=none umi dev
'sh' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
查看 package.json 的启动命令,使用了 cross-env
:
"start": "cross-env NODE_OPTIONS=--max_old_space_size=12000 COMPRESS=none umi dev",
如果去掉 cross-env 命令,只保留 umi dev 就能正常启动。
解决方法:
删除项目 yarn.lock 文件
清除 yarn 缓存:
代码语言:javascript复制yarn cache clean
重新安装依赖:
代码语言:javascript复制yarn
启动项目:
代码语言:javascript复制yarn start
也可以尝试全局安装 cross-env:
代码语言:javascript复制npm i -g cross-env
我用 vscode 的 PowerShell 报错,改用 Git Bash 就正常了。