'react-scripts'不被识别为内部或外部命令


92

我有一个maven项目,其中的JavaScript项目被克隆为git子模块。所以目录结构看起来像

mavenapp/src/main/javascript/[npm project files]

在我的package.json中,测试看起来像这样: "test": "react-scripts test --env=jsdom",

但是当我尝试运行npm test时说

'react-scripts'不被识别为内部或外部命令,

有趣的是,当我独立克隆javascript项目时,不会出现此错误。我尝试过重新运行npm install

npm version : 5.5.1

node version : 9.3.0


尽管自那时以来,我一直在解决这个问题,但我很高兴知道它已经引起了一些关注,因此将答案标记为正确答案可能很有用...可以向社区提出建议,以了解答案是正确的。 。
J史密斯

Answers:


78

这是安装时节点模块目录中缺少react-scripts文件的错误。

package.json中检查您的react-script依赖项是否可用

如果不可用,请通过以下方式手动添加:

npm install react-scripts-保存


11
不要这样做,这可能会导致其他项目出现问题……您不应像这样全局安装react-scripts。这里指:github.com/facebook/create-react-app/issues/...
Rosdi卡西姆

5
@RosdiKasim阅读您的评论后,我意识到我的错误。现在,我更改了特定项目的命令,而不是global(-g)。
Yogesh Borad '18

对我来说什么都没有改变,仍然是同样的错误。运行“ npm install react-scripts --save”,即使成功没有在npm_modules文件夹中创建任何文件夹react-scripts。我使用的是Windows10
Giox

@RosdiKasim,根据您的评论,您应该在Github上关注线程的结尾。我正在处理同一问题,并通过执行如下操作来解决该问题stackoverflow.com/a/54403797/8719007(下面的答案)
Serge Kishiko

43

你有没有尝试过:

rm -rf node_modules && npm install

node_modules首先擦除,通常会解决很多奇怪的,与软件包相关的问题,例如在Node中。


2
是的,我没有...没什么区别...现在,我只需要删除子模块,然后手动将其粘贴即可。
J史密斯,

嗯,您没有看到自己记录的任何错误npm install吗?尝试运行npm install -f,看看是否有任何变化。可能是另一个无法安装并阻止create-react-app完全安装的软件包。用-fbtw强制进行npm安装永远不是一个完整的解决方案....只是故障排除步骤。如果运行此命令后有任何更改,则说明其中一个软件包出了问题。
乔尼·阿斯玛

此外,您可能想验证您在的文件javascript/node_modules/.bin/react-scripts。如果不是这样,可能有几种不同的原因,包括权限问题,操作系统对创建符号链接的限制(所有内容node_moduels/.bin都是安装时生成的符号链接。也可能只是您没有安装react-scripts ...运行npm install --save react-scripts,看看是否有帮助。
强尼阿斯马尔

1
从MacOS的移动到Windows(Dropbox的同步所有node_modules文件夹) -仅删除该文件夹并重新安装解决了这个问题
AS

是的-那就是上述命令的作用。您的症状可能是由于许多软件包会在每个OS上执行条件安装过程。Linux,Mac和Windows之间存在许多差异,其中包含许多基本项目依赖项。
强尼·阿斯玛

30

如果react-scripts存在package.json

如果您"react-scripts": "2.1.3"pakage.json文件中看到类似的内容 , 则键入以下命令

npm install

如果react-scripts不存在package.json

如果"react-scripts"您的package.json文件中没有类似内容,则可能您尚未安装该文件。

npm install react-scripts --save


1
如果我将其包含在package.json中并且也进行安装,但又遇到相同的问题该怎么办?
Serob_b

@Serob_b有时我也遇到同样的问题,在这种情况下,我只运行“ npm install”即可解决问题。或者,您始终可以通过在终端中键入rm“ -rf node_modules”来删除node_modules文件夹,然后运行“ npm install”。希望这会
有所

9

在我的情况下,我的节点包发生了一些问题。所以我跑了npm audit fix,它解决了所有问题



3

我解决了这个问题:-),只需卸载您的node.js并显示隐藏文件

然后转到“ C:\ Users \ yourpcname \ AppData \ Roaming \

然后删除“ npm”和“ npm-cache”文件夹

并安装新版本的node.js。


2
这真的不是解决方案。
Phani Rithvij

这个为我工作。
UA

2

由于内部或外部命令与npm相关,因此无法识别react-scripts

如果适用,我会将我的package.json文件中的所有依赖关系更新为主目录和客户端目录中的最新版本。您可以通过使用星号“ *”来实现此目的,而不是在package.json文件中为依赖项指定特定的版本号。

例如:

"dependencies": {
    "body-parser": "*",
    "express": "*",
    "mongoose": "*",
    "react": "*",
    "react-dom": "*",
    "react-final-form": "*",
    "react-final-form-listeners": "*",
    "react-mapbox-gl": "*",
    "react-redux": "*",
    "react-responsive-modal": "*",
  }

然后,我将确保删除所有package-lock.json,然后在主目录和客户端目录(如果适用)中同时运行npm install和yarn install。

然后,您应该能够运行纱线构建,然后使用纱线启动来运行应用程序。


这是个坏建议。使用*版本号是有问题的,因为它可能导致不同版本的软件包安装在不同的系统上。使用锁定的版本号并根据需要进行更新
Dana Woodman

是的,出于生产目的,这里可能完全出错,而仅仅是出于测试目的。
Ahmedakhtar

2

面对相同的问题,尽管我使用的是毛线。

以下为我工作:

yarn install 
yarn start

1

对于便携式应用程序更改

package.json

如下

"scripts": {
    "start": "node node_modules/.bin/react-scripts start",
    "build": "node node_modules/.bin/react-scripts build",
    "test": "node node_modules/.bin/react-scripts test",
    "eject": "node node_modules/.bin/react-scripts eject"
  }

0

我已经尝试了许多解决此问题的解决方案,但是对于我来说,除了重新安装Windows的NVM(我正在使用它来管理多个Node版本)之外,其他方法都无济于事。在安装程序中,它会检测已安装的Node版本,并询问用户是否希望NVM控制它们。我说是,NVM解决了所有PATH问题。结果,事情像以前一样运作。此问题可能有多种原因,但是损坏的PATH绝对是其中一个,并且(重新)安装NVM可以修复PATH。


0

这是一个比较老的问题,但这可能会对将来的参考有所帮助。删除node_modules文件夹,然后再次运行npm install。为我工作。


0

就我而言,我在安装了节点v14.0.5的Linux上编辑了文件,而当我重新启动到安装了节点v14.0.3的Windows时,遇到了同样的错误。所以我更新了Windows上的节点版本,对我来说一切正常。


0

这就是我的解决方法

  1. 检查并更新路径变量(有关如何更新路径变量的信息,请参见下文)
  2. 删除node_modules和package-lock.json
  3. npm install
  4. npm run start

如果这不起作用,请尝试安装nodejs并运行修复程序

或清理npm缓存 npm cache clean --force

更新路径变量

  1. 按Windows键
  2. 搜索 Edit the system environmental variable
  3. 点击 Environment Variables...
  4. 在系统变量底部(将有两个部分)
  5. 选择Path变量名
  6. 请点击 Edit..
  7. 检查C:\Program Files\nodejs列表中是否有,如果没有添加

0

有类似的问题..我用纱来修复它。我注意到在我的节点模块中找不到react-scripts,所以我决定用npm下载它,但我似乎也失败了。所以我尝试了yarn(yarn add react-scripts)并解决了噩梦!希望这项工作对您也有帮助。调试人员感到高兴。


-1

就我而言,问题与没有足够的文件许可权有关react-scripts软件包安装要写入的某些文件有关。解决问题的方法是以管理员身份运行git bash,然后npm install --save react-scripts再次运行。


-2

当我使用React创建一个新项目时,要安装React模块,我必须在新项目ClientApp文件夹(例如“ C:\ Users \ Chris \ source \ repos \ HelloWorld2 \ HelloWorld2 \”中运行“ npm install”(PowerShell) ClientApp”)。具有React的.NET核心Web应用程序需要将React文件安装在正确的位置,以使React命令正常工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.