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

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

之后我就跑了

npm start 

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


当前回答

在macOS上用@/符号重命名目录以匹配我的NPM包命名空间的名称后,我遇到了这个错误。

当NPM命令在我的本地node_modules中寻找已安装的包时,由于macOS重写目录路径的方式,它无法找到它。在没有@/的情况下重命名目录后,我重新启动并运行。

其他回答

https://github.com/facebookincubator/create-react-app

npm install -g create-react-app

create-react-app my-app
cd my-app/
npm start

全局安装create-react-app包。 然后运行它并创建一个名为my-app的项目。 进入你的项目文件夹,然后运行npm start。如果不行,试试运行npm install,然后运行npm start。如果这不能很好地工作,尝试更新你的节点版本和/或npm。

如果其他答案都不能正常工作(在更新npm等之后)。我强烈建议您在桌面上安装该项目。

create-react-app project_name

检查是否存在node_modules目录。在一个新的克隆之后,很可能没有node_modules(因为它们是.gitignore’d)。

解决方案

运行NPM install(或yarn)以确保下载了所有deps。

可选择的解决方案

如果node_modules存在,使用rm -rf node_modules删除它,然后运行npm install(或yarn)。

删除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运行你的应用程序。

如果你在Docker容器中遇到这个问题,只要确保node_modules没有被添加到.dockerignore文件中。

我有同样的问题sh1:没有找到反应脚本。对我来说,这就是解决方案