【问题标题】:npm error during publish - incorrect version of babel-eslint发布期间的 npm 错误 - babel-eslint 的版本不正确
【发布时间】:2021-01-24 21:42:13
【问题描述】:

我有一个带有 react 应用程序的 .net core 3.1,我正在尝试使用 Visual Studio 2019 发布它。

我收到以下错误:

Create React App 提供的 react-scripts 包需要一个 依赖:“babel-eslint”:“10.1.0” 不要试图手动安装它:你的包管理器会自动安装。然而,不同版本的 babel-eslint 是 在树的较高位置检测到: C:\projects\node_modules\babel-eslint(版本:10.0.1)

我不知道 babel-eslint 版本 10.0.1 是如何安装的。 运行 npm ls 不会显示任何依赖 babel-eslint 10.0.1 的包。

这是 package.json 文件:

{
  "private": true,
  "dependencies": {
    "axios": "^0.19.2",
    "font-awesome": "^4.7.0",
    "jquery": "^3.5.1",
    "merge": "^1.2.1",
    "oidc-client": "^1.9.0",
    "react": "^16.0.0",
    "react-bootstrap": "^1.3.0",
    "react-bootstrap-table-next": "^4.0.3",
    "react-bootstrap-table2-paginator": "^2.1.2",
    "react-bootstrap-table2-toolkit": "^2.1.3",
    "react-dom": "^16.0.0",
    "react-router-bootstrap": "^0.25.0",
    "react-router-dom": "^5.2.0",
    "react-scripts": "3.4.3",
    "reactstrap": "^6.3.0",
    "rimraf": "^2.6.2"
  },
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-eslint": "^10.1.0",
    "eslint": "^7.10.0",
    "cross-env": "^5.2.0",
    "typescript": "^3.5.2"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "scripts": {
    "start": "rimraf ./build && react-scripts start",
    "build": "react-scripts build",
    "test": "cross-env CI=true react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "lint": "eslint ./src/"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

我也没有在 package-lock.json 文件中看到 babel-eslint v10.0.1。 以下是 package-lock.json 文件中对 babel-eslint 的所有引用:

"babel-eslint": {
      "version": "10.1.0",
      "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
      "requires": {
        "@babel/code-frame": "^7.0.0",
        "@babel/parser": "^7.7.0",
        "@babel/traverse": "^7.7.0",
        "@babel/types": "^7.7.0",
        "eslint-visitor-keys": "^1.0.0",
        "resolve": "^1.12.0"
      }
    },
    
"react-scripts": {
      "version": "3.4.3",
      "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-3.4.3.tgz",
      "requires": {
        "@babel/core": "7.9.0",
        "@svgr/webpack": "4.3.3",
        "@typescript-eslint/eslint-plugin": "^2.10.0",
        "@typescript-eslint/parser": "^2.10.0",
        "babel-eslint": "10.1.0",
        "babel-jest": "^24.9.0",
        "babel-loader": "8.1.0",
        "babel-plugin-named-asset-import": "^0.3.6",
        "babel-preset-react-app": "^9.1.2",
    }

我已经尝试卸载所有版本的 babel-eslint (npm uninstall babel-eslint),但不知何故,每次我执行 npm install 时,旧版本都会不断安装

如何阻止旧版本的 babel-eslint 被安装?

【问题讨论】:

  • 我复制了旧版本的 node_modules 目录进行备份。那有旧版本的 babel-eslint 和 eslint。删除该 node_modules 并卸载两个软件包后。我能够发布

标签: node.js npm


【解决方案1】:

查看正在安装的软件包后,我能够使用兼容的软件包更新 package.json 文件。删除 package-lock.json 和 node_modules 目录,然后进行 npm install 并成功运行

【讨论】:

    猜你喜欢
    • 2020-11-08
    • 2021-11-18
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 2016-03-26
    • 2014-03-24
    • 2016-11-30
    相关资源
    最近更新 更多