React npm启动不工作:'没有可用的Chokidar版本'

xmakbtuz  于 2022-12-13  发布在  React
关注(0)|答案(9)|浏览(248)

我从Github克隆了我已经在Github Pages上运行的React-Typescript应用程序,并想做一些修改。我运行了npm install并安装了所有的依赖项,但是当我运行npm start时,我得到了这个错误;

我不知道什么是chokidar,我看了一下,我认为它与我的项目无关。但我仍然试图npm安装chokidar,我得到了另一个类似这样的错误;

也尝试了npm audit fix以及。修复了一些东西,但没有任何变化。
所以我打不开开发服务器,另外这是package.json文件;

// package.json
{
  "name": "panflix",
  "homepage": "https://absolutezero13.github.io/meerkast/",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "@types/enzyme": "^3.10.8",
    "@types/jest": "^26.0.15",
    "@types/node": "^12.0.0",
    "@types/react": "^17.0.0",
    "@types/react-dom": "^17.0.0",
    "@types/redux-devtools": "^3.0.47",
    "axios": "^0.21.1",
    "enzyme": "^3.11.0",
    "firebase": "^8.2.7",
    "gh-pages": "^3.1.0",
    "history": "^4.10.1",
    "react": "^17.0.1",
    "react-bootstrap": "^1.5.0",
    "react-dom": "^17.0.1",
    "react-redux": "^7.2.2",
    "react-router-dom": "^5.2.0",
    "react-scripts": "4.0.2",
    "redux": "^4.0.5",
    "redux-devtools-extension": "^2.13.8",
    "redux-thunk": "^2.3.0",
    "typescript": "^4.1.2",
    "web-vitals": "^1.0.1"
  },
  "scripts": {
    "predeploy": "npm run build",
    "deploy": "gh-pages -d build",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@types/react-redux": "^7.1.16",
    "@types/react-router-dom": "^5.1.7"
  }
}

我尝试了npm install -g chokidar,它是安装。但我得到了同样的错误,因为以前“没有版本chokidar是可用的”。
其他react项目运行良好。

xpcnnkqh

xpcnnkqh1#

我遇到了同样的问题。对我有效的是强制更新本地npm包:

npm update --force

之前

$ npm list chokidar
pwa-react-showcase@0.1.0
└─┬ react-scripts@4.0.3
  └─┬ webpack-dev-server@3.11.1
    └── chokidar@2.1.8

之后

$ npm list chokidar
pwa-react-showcase@0.1.0
└─┬ react-scripts@4.0.3
  ├─┬ webpack-dev-server@3.11.1
  │ └── chokidar@2.1.8
  └─┬ webpack@4.44.2
    └─┬ watchpack@1.7.5
      ├── chokidar@3.5.1
      └─┬ watchpack-chokidar2@2.0.1
        └── chokidar@2.1.8

更新

我们发现NPM 7是问题所在。降级到NPM 6. 14. 12可以工作,没有任何变化。

m0rkklqb

m0rkklqb2#

刚刚通过运行
npm update chokidar
这将用最新的chokidar信息更新package-lock.json。现在运行react没有任何npm 7.15和node 14.16的问题。没有必要强制安装或做任何奇怪的事情。只要更新chokidar来保持你的包文件的一致性,并保持团队中每个人的开发运行。
当我从NPM 6升级到版本7时,最初的问题出现了。github中也有一个bug:https://github.com/facebook/create-react-app/issues/10811

ogq8wdun

ogq8wdun3#

npm@6.x升级到npm@7.x后,我也遇到了同样的问题。我简单地将chokidar安装为DevDependency,就解决了这个问题。一切都按预期运行(开发、生产构建和测试)
要获得更多保证,请运行:

npm i -g npm
npm cache verify
npm i -D chokidar
npm i
hwamh0ep

hwamh0ep4#

Chockidar是watchpak内部的一个依赖项,负责在开发环境中保存热重新加载。
Chuckidar 2在节点v14+上有问题。
对我来说,npm update确实更新了watchpack来使用chockidar 3。

ua4mk5z4

ua4mk5z45#

你需要更新chokidar。所以只需点击命令npm update chokidarnpm update chokidar@2
如果出现invalid json response body at https://registry.npmjs.org/chokidar reason: Unexpected end of JSON input之类的错误
那么主要的原因可能是缓存,所以你必须清理缓存。
在此之后,如果您再次收到一个类似于

`ENOENT: no such file or directory, scandir '/node_modules/node-sass/vendor'`

然后,您需要通过单击命令npm rebuild node-sass重建节点sass
就这样,我就是这样。

kt06eoxx

kt06eoxx6#

这是因为版本的chokidar需要更新到3
方法一:

npm i chokidar@最新--武力

这对我很有效。npm本身说:npm警告已过时的chokidar@2.1.8:Chokidar 2将在节点v14+上中断。升级到chokidar 3,依赖项减少15倍。
方法2(推荐):

npm审计修复

如果您是通过公司网络上的代理连接,这可能不适合您,您可能会得到这样的东西:

npm ERR!审计端点返回错误

方法三:

*将npm版本降级为6

方法四:

npm更新--强制

不建议用于大型项目。

gudnpqoy

gudnpqoy7#

更新Chokidar依赖关系为我解决了这个问题。
npm update chokidar

qcuzuvrc

qcuzuvrc8#

我今天遇到了这个问题,我到处搜索,然后用这个来解决我的问题:

$ npm更新--强制

ev7lccsx

ev7lccsx9#

我在Centos7上,我的Chokidar版本是“^3.5.3”。
通过运行以下命令解决了我的问题:
npm update --force

相关问题