npm start 错误与 create-react-app
Posted
技术标签:
【中文标题】npm start 错误与 create-react-app【英文标题】:npm start error with create-react-app 【发布时间】:2017-02-18 23:18:18 【问题描述】:我有一个两周没碰过的项目。我收回了它,现在当我尝试运行 npm start
时出现此错误。
> react-scripts start
sh: react-scripts: command not found
npm ERR! Darwin 16.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v6.7.0
npm ERR! npm v3.10.3
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the UpScore@0.6.0 start script 'react-scripts start'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the UpScore package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! react-scripts start
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs UpScore
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls UpScore
npm ERR! There is likely additional logging output above.
节点 6.7.0
npm 3.10.3
mac 塞拉 10.12
package.json
"name": "UpScore",
"version": "0.6.0",
"private": true,
"devDependencies":
"react-addons-test-utils": "^15.3.1",
"react-scripts": "0.4.1",
"react-test-renderer": "^15.3.1",
"redux-logger": "^2.6.1"
,
"dependencies":
"@yoshokatana/medium-button": "^1.1.0",
"axios": "^0.14.0",
"bcrypt": "^0.8.7",
"bcrypt-nodejs": "0.0.3",
"bcryptjs": "^2.3.0",
"body-parser": "^1.15.2",
"connect-flash": "^0.1.1",
"cookie-parser": "^1.4.3",
"draft-js": "^0.8.1",
"draft-js-editor": "^1.7.2",
"draft-js-export-html": "^0.4.0",
"ejs": "^2.5.2",
"email-verification": "^0.4.5",
"express": "^4.14.0",
"express-session": "^1.14.1",
"flexboxgrid": "^6.3.1",
"highlight.js": "^9.6.0",
"immutable": "^3.8.1",
"katex": "^0.6.0",
"lodash": "^4.15.0",
"markdown-it-mathjax": "^1.0.3",
"material-ui": "^0.15.4",
"medium-editor": "^5.22.0",
"minutes-seconds-milliseconds": "^1.0.3",
"moment": "^2.15.0",
"moment-duration-format": "^1.3.0",
"mongod": "^1.3.0",
"mongodb": "^2.2.9",
"mongoose": "^4.6.0",
"monk": "^3.1.2",
"morgan": "^1.7.0",
"normalize.css": "^3.0.3",
"passport": "^0.3.2",
"passport-local": "^1.0.0",
"react": "^15.3.1",
"react-dom": "^15.3.1",
"react-markdown": "^2.4.2",
"react-medium-editor": "^1.8.1",
"react-redux": "^4.4.5",
"react-redux-form": "^0.14.5",
"react-rich-markdown": "^1.0.1",
"react-router": "^2.7.0",
"react-router-redux": "^4.0.5",
"react-tap-event-plugin": "^1.0.0",
"react-tinymce": "^0.5.1",
"redux": "^3.6.0",
"redux-form": "^6.0.5",
"redux-form-material-ui": "^4.0.1",
"redux-promise-middleware": "^4.0.0",
"redux-thunk": "^2.1.0",
"reselect": "^2.5.3",
"screenfull": "^3.0.2"
,
"scripts":
"start": "react-scripts start",
"start:prod": "pushstate-server build",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"server": "cd client/api && pm2 start server.js --watch",
"proxy": "http://128.199.139.144:3000"
,
"eslintConfig":
"extends": "./node_modules/react-scripts/config/eslint.js"
我也尝试克隆我的存储库并得到相同的错误。如果有人可以给我一些方法来找出发生了什么。谢谢
【问题讨论】:
您是否尝试删除您的node_modules
并再次运行npm install
?
是的,我清理了 node_modules 和 npm install。我在 npm 安装中没有出错。
我用过这个命令rm -rf node_modules/ && npm cache clean && npm install
你能告诉我们你的npm start
命令吗?
我已经添加了 package.json 文件
【参考方案1】:
Create React App 的作者签到。
您绝对不应该在全局范围内安装 react-scripts
。
正如this answer 所暗示的那样,您也不需要在package.json
中需要./node_modules/react-scripts/bin/
。
如果你看到这个:
npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT
这只是表示第一次安装依赖项时出了点问题。
我建议做这三个步骤:
npm install -g npm@latest
更新 npm,因为它有时是错误的。
rm -rf node_modules
删除现有模块。
npm install
重新安装项目依赖。
这应该可以解决问题。 如果没有,请file an issue 提供指向您的项目以及 Node 和 npm 版本的链接。
【讨论】:
这对我不起作用。 npm v3.3.1;节点 v6.9.1。我在 Windows 上,这个问题是在我进行系统还原以回滚几周以解决另一个问题后开始的。 P.S.:运行你的步骤,我得到这个错误。 'rm' 未被识别为内部或外部命令。我认为系统还原删除了运行这些节点命令所需的东西,但我不知道。 P.P.S.我手动删除了 node_modules 文件夹并运行了 npm install。现在它起作用了!感谢您提供有关更换 node_modules 的线索。 这对我还是不行!!实际上,当我在 Heroku 上部署时它失败了! 嘿@dan-abromov bitbucket CI 中出现同样的错误,你有什么建议来解决这个问题?【参考方案2】:您的全局环境中似乎没有react-scripts
。
这里有两种可能性:
npm install -g react-scripts
或在您的 package.json 中更改您的脚本部分,如下所示:
"scripts":
"start": "./node_modules/react-scripts/bin/react-scripts.js start",
"start:prod": "pushstate-server build",
"build": "./node_modules/react-scripts/bin/react-scripts.js build",
"test": "./node_modules/react-scripts/bin/react-scripts.js test --env=jsdom",
"eject": "./node_modules/react-scripts/bin/react-scripts.js eject",
"server": "cd client/api && pm2 start server.js --watch",
"proxy": "http://128.199.139.144:3000"
,
【讨论】:
现在我遇到了 index.html 的问题,看起来像是公共目录中的 create-react-app 搜索?但在此之前,我从未明白。 查看更新日志 ;) github.com/facebookincubator/create-react-app/blob/master/… 这个答案是错误的。这可能会解决问题,但不是 Create React App 的预期用途。【参考方案3】:是的,你不应该全局安装 react-scripts,它不会起作用。
我认为我第一次创建项目时(在另一台机器上)没有使用 --save,所以对我来说这解决了问题:
npm install --save react react-dom react-scripts
【讨论】:
嗨,--save 标志是否会导致它安装在本地而不是全局?【参考方案4】:如果你碰巧像我一样不幸,连续三 (3) 天试图解决这个问题,这里提出的每个解决方案都让我失败了……在你的项目根目录中创建一个 .env 文件并添加此代码@ 987654321@。祝你好运
【讨论】:
我猜你不走运是有原因的。你的回答对我帮助很大。 谢谢!我突然开始收到这些错误,这解决了它。任何人都知道这是做什么来修复它?预检中发生了什么? 这也是唯一对我有帮助的东西。我想知道这是否会在未来引起问题【参考方案5】:这是为了帮助其他全新的人做出反应,以及那些刚开始第一个应用程序时遇到问题的人,即使他们进行了全新安装并尝试使用 npm install 和我在论坛上看到的其他修复程序。
在安装了所有最新 npm create-react-app 的 Windows 10 上运行它,并在简单的 my-app 演示文件夹中的简单 npm start 失败后失败。
花了很长时间处理最初看起来类似于 OP 错误但略有不同的错误。这从 ERRNO 4058 开始,然后是代码 'ENOENT' syscall: 'spawn cmd', path: ''cmd' ...
最终从 github create-react-app 论坛解决了这个问题的快速解决方法是在“路径”变量中注册 cmd。为此,请转到系统属性>环境变量。单击路径变量编辑并添加 C:\Windows\System32 的新条目。重新启动 CMD 提示,我很高兴。
【讨论】:
当我的所有高级修复都失败时,这就是我的问题。不知道它是如何被取消的,但这就是问题所在。 自己是初学者,你能告诉我们为什么要添加windows system32路径吗?意味着如果我们添加节点文件夹路径,我可以更好地理解。你能解释一下吗?【参考方案6】:正如丹所说的那样,
如果你看到这个:
npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT
这只是意味着第一次安装依赖项时出了点问题。
但是我得到了一些稍微不同的东西,因为运行 npm install -g npm@latest
来更新 npm 有时可能会让你出现这个错误:
npm ERR! code ETARGET
npm ERR! notarget No matching version found for npm@lates
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
所以,我建议不要运行npm install -g npm@latest
,而是运行以下步骤:
npm i -g npm //which will also update npm
rm -rf node_modules/ && npm cache clean // to remove the existing modules and clean the cache.
npm install //to re-install the project dependencies.
这应该会让你重新站起来。
【讨论】:
【参考方案7】:我可能回答这个问题很晚了,但这对我有用,它可能会帮助某人回到开发轨道!
nvm install v12.0 // You may need to install nvm, if not already done
rm -rd node_modules/
npm cache clean --force
npm install
干杯!!
【讨论】:
【参考方案8】:对我来说,只是我没有在项目中添加react-scripts
,所以:
npm i -S react-scripts
如果这不起作用,那么按照其他人的建议 rm node_modules
rm -r node_modules
npm i
【讨论】:
这对我有用。我在一个新的 react 项目中遇到了错误,显然 react-scripts 没有自动安装?【参考方案9】:我遇到了以下问题。
请找到解决办法:
将 "C:\Windows\System32" 添加到全局 PATH 环境变量中。
检查是否为nodejs、npm和composer创建了环境变量。如果不创建一个
-
运行您的应用程序。
【讨论】:
【参考方案10】:我在运行时遇到了同样的错误
npm 开始
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! protest-app@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the protest-app@0.1.0 start script.
我在几个选项卡和应用其他开发人员的解决方案时都崩溃了。
直到,即使使用 Ubuntu,我关闭了我的 vscode 并重新启动了我的电脑,我的所有问题都得到了解决。 (kkkk zueira) 就是这个。
【讨论】:
【参考方案11】:在windows中添加环境变量
-
C:\WINDOWS\System32
C:\Program Files\nodejs
C:\Program Files\nodejs\node_modules\npm\bin
C:\WINDOWS\System32\WindowsPowerShell\v1.0
C:\Users您的系统名称不带大括号
大括号\AppData\Roaming\npm
这 5 个必须在路径中。
并使用最新版本的 node.js
【讨论】:
【参考方案12】:我通过运行以下命令解决了这个问题
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
希望对你有帮助
【讨论】:
【参考方案13】:使用“SKIP_PREFLIGHT_CHECK=true”添加 .env 文件而不是 npm start
【讨论】:
【参考方案14】:我使用以下命令解决了这个问题:
npm install -g react-scripts
【讨论】:
【参考方案15】:很简单,但第一次设置需要时间几个步骤!!!
您在节点上拥有最新版本。
进入环境变量,设置路径"%SystemRoot%\system32"
。
以管理员模式运行 cmd。
写命令 npm start。
【讨论】:
【参考方案16】:我在项目中运行npm install
然后npm start
成功了
【讨论】:
【参考方案17】:只需删除“node_module”文件,如果它在文件夹中看起来有点灰色,这意味着它不存在,只需关闭 vs 代码并重新打开即可
使用“npm install”安装 npm。
【讨论】:
【参考方案18】:可能与其他库冲突,删除 node_modules 并再次 npm install。
【讨论】:
但我每次都要这样做【参考方案19】:当 node_modules 与 package.json 不同步时会发生这种情况。
在根目录和任何可能包含 node_modules 文件夹的子服务/子文件夹中运行以下命令。
rd node_modules /S /Q
npm install
【讨论】:
【参考方案20】:我想到了,但以上都不起作用。
events.js:72
throw er; // Unhandled 'error' event
^
npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT
Error: spawn ENOENT
at errnoException (child_process.js:1000:11)
at Process.ChildProcess._handle.onexit (child_process.js:791:34)
发生这种情况是因为您可能已经全局安装了react-scripts
。
为了完成这项工作......
-
转到您的
C:\Users\<USER>\AppData\Roaming
删除 npm 和 npm-cache 目录...(不用担心,以后可以全局安装 npm)
返回您的应用程序目录并删除 node_modules
文件夹
现在输入 npm install
安装依赖项(如果 package-lock.json 已经创建,则删除它)
现在运行npm install --save react react-dom react-scripts
开始使用npm start
这应该让你回到正轨......快乐编码
【讨论】:
【参考方案21】:我的问题源于权限问题。我按照这个解决了我的问题 https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
【讨论】:
【参考方案22】:在终端中输入unset HOST
。
【讨论】:
【参考方案23】:我已经在本地创建了 react 项目。出现这个问题的原因(对我来说)是我在npm
之前没有使用sudo
,它需要root 访问权限(
> sudo npm start
PS1:对于 Windows 用户,powershell
或 command line
应以管理员身份运行)
PS2:如果用户想解决root权限问题,可以看post。
【讨论】:
以上是关于npm start 错误与 create-react-app的主要内容,如果未能解决你的问题,请参考以下文章
无法运行镜像,CMD ["npm", "start"] 命令错误