[英]npm start throws sh: react-scripts: command not found
[英]sh: react-scripts: command not found after running npm start
我将一个 React 应用程序克隆到我的系统上并运行了以下命令
npm install -g create-react-app
npm install --save react react-dom
之后我跑了
npm start
但它引发了上述错误,它在我将它推送到 github 的我的其他系统上工作正常。但是在克隆 windows 或 mac 后它在任何其他系统上都不起作用。
检查node_modules
目录是否存在。 在一个新的克隆之后,很可能没有node_modules
(因为这些是.gitignore
'd)。
运行npm install
(或yarn
)以确保下载所有 deps。
如果node_modules
存在,请使用rm -rf node_modules
将其删除,然后运行npm install
(或yarn
)。
尝试了以上所有方法,但没有任何效果,所以我使用npm i react-scripts
并且它有效
我有类似的问题。 就我而言,它有助于安装 Yarn 并首先执行命令
yarn
然后执行命令
yarn start
如果您克隆的项目具有 yarn.lock 文件,这也可能对您有用。 希望能帮助到你!
你不应该全局安装 react-scripts,对我来说这解决了这个问题:
npm install --save react react-dom react-scripts
如果这仍然不起作用:
npm install -g npm@latest
node_modules
目录npm install
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。
在 package.json 中,我改变了
"start": "react-scripts start"
至
"start": "NODE_ENV=production node_modules/react-scripts/bin/react-scripts.js start"
我希望这可以解决某些人的问题。 尽管上面的其他解决方案似乎对我不起作用。
我有这个问题很久了,我最终偶然找到了我的解决方案。
事实证明,任何文件夹名称中都不能有空格或古怪的字符。
例如~/projects/tutorial/ReactJS/JavaScript Framework: ReactJS/app-name
将不起作用,因为JavaScript Framework: ReactJS
包含空格。
一般来说,在文件夹/文件名中使用空格可能不是很好的做法,但我希望这可以为某人节省至少 4 小时的反复试验。
此外,应避免使用任何非字母数字字符。
当您使用npm install
而不是yarn install
安装软件包时会发生此错误,反之亦然。
npm install --save react react-dom react-scripts
上面的命令对我有用。
使用npm i --legacy-peer-deps
对我有用。
我不知道它具体执行了以下哪个操作:
但我认为它执行后一种操作。 如果我错了,请随时告诉我^-^
当我重新开始使用 create-react-app 时,这有时让我感到困惑,请确保您的NODE_ENV变量设置为开发而不是生产,因为 npm install 不会安装 package.json 中的 devDependencies。
如果您在 Docker 容器中遇到此问题,只需确保 node_modules 未添加到 .dockerignore 文件中。
我遇到了同样的问题 sh1:找不到反应脚本。 对我来说,这是解决方案
安装material-ui后刚遇到这个问题。
只需再次运行npm install
即可解决。
只是做一个纱线安装解决了我的问题
删除 package-lock.json 和 node_modules 然后 npm install 对我有用。
如果其他答案都不能正常工作(在更新 npm 等之后)。 我强烈建议您在桌面上安装该项目。
创建反应应用项目名称
如果有人在尝试这些解决方案后仍然遇到此问题:请检查您的项目路径,因为节点在使用带间距的目录名称时存在一些问题。 我更改了所有名称中包含空格的目录名称,并且效果很好。
解决方案想法来自: https ://npm.community/t/react-scripts-not-found/8574
我正在使用纱线顺便说一句
你不应该在你的路径中使用空格和一些特殊字符,例如使用“&”。 在我的情况下,我使用的是这条路径:“D:\P&D\mern”,由于这个“&”,我浪费了 50 分钟试图解决这个问题! :/
生活和学习!
如果您已经尝试了所有方法但没有解决问题,请尝试重命名目录名称。 如果文件夹名称包含大写字母,react 将不会启动。
在发出react-scripts build
请求后,我只是随机遇到了这个“react-scripts:找不到命令”错误,以前工作得很好。
简单地重新启动我的系统即可解决问题。
如果有人愿意只使用 npm,则运行此npm i react-native-scripts --save
,然后运行 npm start 或您使用的任何命令
删除 package-lock.json 文件,然后输入 -> npm install
/Users/piyushbajpai/.npm/_logs/2019-03-11T11_53_27_970Z-debug.log
就像这是我的调试路径——>所以你会在控制台中找到这个——>按下命令并点击链接,你会发现错误行; 像这样:
详细堆栈错误:nest_form@0.1.0 start:
react-scripts start
用新的方式删除 node_module 和 npm i。
转到 node_module 并删除 jses 文件夹并将其删除,然后执行 npm i 并再次从 npm start 开始
我对最新版本的纱线1.15.1-1
有疑问
我已经通过降级到较低版本来修复它sudo apt-get install yarn=1.12.3-1
对我有用的解决方案如下。 尝试使用此命令创建 React 应用程序。
create-react-app react-app --scripts-version 1.1.5
在 macOS 上使用@/
符号重命名目录以匹配我的 NPM 包命名空间的名称后,我遇到了这个错误。
当 NPM 命令在我的本地node_modules
中查找已安装的包时,由于 macOS 重写目录路径的方式,它找不到它。 在没有@/
的情况下重命名目录后,我再次启动并运行。
只是你必须恢复包来解决这个问题,所以只需运行命令:
npm install 或 yarn install
这对我有用。
如果你使用纱线:
yarn.lock
yarn
yarn start
如果您使用的是 npm:
package-lock.json
npm install
npm start
如果上述解决方案不起作用并且您看到以下错误:
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
尝试使用sudo npm install
我尝试了每个答案,但清理我的 npm 缓存有效..
脚步:
对我来说,它是删除package-lock.json
和node_modules
然后再次运行npm install
。
在花了太多时间尝试上述所有解决方案之后,我可以肯定地说:
如果您遇到此问题,请检查您的路径。 如果路径包含任何特殊字符或空格,只需重命名它并确保新路径没有任何空格或特殊字符。 然后再次运行它。
只需运行这些命令
npm install
npm start
或者
yarn start
希望这对你有用谢谢
这些解决方案都不适合我。 我发现问题是我在其中创建项目的目录,我不知道为什么,但是当我在该目录之外创建项目时它起作用了。 我的解决方案是将目录从“React/Ionic”更改为“ionic-react”。 可能不仅项目本身应该是小写的,而且它的父文件夹也应该是小写的,或者可能是目录名称中的“/”是问题所在。 希望这有帮助。
用
npm install --legacy-peer-deps
如果你使用 npm 安装并且 npm 版本小于 7,那么它的 npm 最有可能以更智能的方式运行。 因此,它将尝试与其他依赖(peer deps)(如果找到更高版本)一起安装 react,这可能会破坏库 react。 附加 --legacy-peer-deps 将告诉 npm “不要做新的事情”,并安装 package.json 中给出的内容...
顺便说一句,人们似乎觉得纱线很舒服,因为这个“即使找到也不要安装更高版本”是自动内置在纱线中的
参考: 一个参考的问题
这种解决方法对我有用
// in your package.json replace
"start": "react-scripts start"
// with:
"start": "node_modules/react-scripts/bin/react-scripts.js start"
删除节点模块
如果以上不起作用
如果上述解决方案不能解决您的问题,请尝试以下对我有用的方法:
在我的 Mac 终端运行这段代码之前,我遇到了同样的问题:
sudo npm install -g yarn
显然,我的机器上缺少纱线。
在启动 react 项目之前运行npm i
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.