无法使用create-react-app创建新项目
无法使用create-react-app创建新项目
我刚刚成功安装了create-react-app。
但是,当我像下面的命令一样创建一个新项目时,出现了错误。
你能给我一些建议吗?
系统环境:
- aws lightsail 1vcpu,0.5G内存/ ubuntu 18.04
- nodejs版本:13.9.0
- npm版本:6.13.7
- create-react-app版本:3.4.0
~$ npm create-react-app my-app
正在安装包。这可能需要几分钟时间。
正在使用cra-template安装react,react-dom和react-scripts...
core-js@2.6.11 postinstall /home/ubuntu/my-app/node_modules/babel-runtime/node_modules/core-js
node -e "try{require('./postinstall')}catch(e){}"
安装中止。
npm install --save --save-exact --loglevel error react react-dom react-scripts cra-template失败。
正在删除生成的文件... node_modules
正在删除生成的文件... package.json
完成。
无法使用create-react-app创建新项目的问题出现的原因是与create-react-app命令本身相关。解决方法是切换到yarn进行安装。
在过去的几年中,有一个在GitHub上提出的问题,通过切换到yarn解决了这个问题。以下命令不能解决这个问题:
npm cache clean --force create-react-app my-app
切换到yarn可以解决问题:
npm install -g yarn yarn global add create-react-app create-react-app my-app
请尝试这个方法!Aditya的问题与yarn或任何其他软件包安装程序无关,而是与create-react-app命令本身相关。
你是对的。但是,如果你能阅读一下这个已关闭的问题github.com/facebook/react/issues/11933下的讨论,结论是切换到yarn可以解决问题。这是一个解决方法。如果现在在create-react-app中已经修复了这个问题,请对这个答案进行编辑。谢谢。
即使在Linux中使用yarn,由于core-js尝试在SHELL内运行脚本,一个错误的bash路径被假定为core-js,所以你的替代解决方案并不是一个通用解决方案,最终还是需要找到如何处理facebook/create-react-app的混乱!
这个错误是因为一个名为core-js
的依赖模块尝试运行一个后安装脚本所导致的。这个后安装脚本会生成一个子进程并在其中运行一个shell脚本。由于某种原因,Node默认设置/假设一个错误的bash路径。我不得不手动通过运行以下命令来更改路径。
npm config set script-shell $(which sh)
注意:对于Windows系统,你可能需要自己设置一个bash.exe
,比如安装git-bash,然后可以类似地指定路径。
谢谢,这个方法对我有效,我还发现有一个相关的问题关于如何设置它,如果有帮助的话:stackoverflow.com/a/46006249/10945921