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

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

之后我就跑了

npm start 

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


当前回答

删除package-lock。json文件 删除“node_modules”文件夹 Sudo NPM I -force 输入您的笔记本电脑登录密码(如果被询问) 等待node_modules安装完成 npm开始

其他回答

我一直都有这个问题,最后我偶然找到了解决方法。 事实证明,在任何文件夹名称中都不能有空格或古怪的字符。

如。 ~/projects/tutorial/ReactJS/JavaScript框架:ReactJS/app-name 不会工作,因为JavaScript框架:ReactJS包含空格。 一般来说,在文件夹/文件名中使用空格可能不是很好的实践,但我希望这可以为某人节省至少4个小时的试验和错误。

此外,应该避免使用任何非字母数字字符。

我也有类似的问题。在我的例子中,安装Yarn并首先执行命令是有帮助的

然后执行命令

纱线开始

如果你克隆的项目有纱线,这也可以为你工作。锁文件。希望能有所帮助!

如果有人在尝试这些解决方案后仍然有这个问题:检查您的项目路径作为节点有一些问题,使用有空格的目录名。我更改了所有名称中有空格的目录名称,它工作得很好。

解决方案的想法来自:https://npm.community/t/react-scripts-not-found/8574

顺便说一句,我用的是纱线

刚刚在安装material-ui后遇到了这个问题。

通过再次运行npm install解决了这个问题。

固定与

npm install --legacy-peer-deps

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

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

参考的问题