我克隆了一个react应用程序到我的系统上,并运行以下命令

npm install -g create-react-app
npm install --save react react-dom

之后我就跑了

npm start 

但是它抛出了上面提到的错误,它在我的其他系统上工作得很好,我把它推到了github上。但克隆后,无论是windows还是mac,它都不能在任何其他系统上工作。


当前回答

你不应该在全局安装反应脚本,对我来说这解决了问题:

npm install --save react react-dom react-scripts

如果这仍然不工作:

更新到最新的NPM版本:NPM install -g npm@latest 删除“node_modules”目录 重新安装所有依赖项:NPM install

其他回答

在启动react项目之前运行npm i

固定与

npm install --legacy-peer-deps

如果你使用npm来安装,而npm版本小于7,那么它的npm最有可能以一种更智能的方式运行。因此,它将尝试与其他依赖项(peer deps)(如果找到更高的版本)一起安装react,这可能会破坏库react。attach——legacy-peer-deps会告诉npm“不要做新的事情”,并安装package.json中给出的内容…

顺便说一下,人们似乎觉得纱线很舒服,因为这种“即使找到也不安装更高版本”是自动内置在纱线中的

参考的问题

我尝试了每一个答案,但清洁我的npm缓存工作..

步骤:

Clean cache =====> npm cache清理力。 重新安装create-react-app =====> npm安装。 NPM开始!!

删除package-lock。Json和node_modules,然后NPM安装为我工作。

删除node_modules

运行NPM install 之后运行NPM start

如果以上都不行

删除node_modules 删除package-lock.json 运行NPM install 然后NPM开始

如果以上解决方案不能解决你的问题,试试下面的方法:

如果你想启动另一个端口或者port命令没有发现错误,那么执行以下步骤: 打开的包。json文件 脚本内部的开始命令替换如下 "start": "set PORT=3006 && response -scripts start" 要改变你的应用程序的端口,你也可以在项目的根目录下创建一个新的文件名。env,并在其中写入port =3006(然后保存文件)。现在使用npm start运行你的应用程序。