babel-preset-react-app,正在导入“@babel/plugin-proposal-private-property-in-object”包,而不在其依赖项中声明它

问题描述 投票:0回答:12

我的问题是,我尝试创建一个新的反应项目,在遇到很多漏洞问题后,我设法解决了其中一些问题,主要说明之一是添加这一行:

"overrides": {
    "@svgr/webpack": "$@svgr/webpack"
  },

进入我的 package.json 文件。 完成后,我必须删除我的 node_modules 文件夹并重新使用

npm install
,现在我在输入
npm start
后收到 babel 错误。

One of your dependencies, babel-preset-react-app, is importing the
"@babel/plugin-proposal-private-property-in-object" package without
declaring it in its dependencies. This is currently working because
"@babel/plugin-proposal-private-property-in-object" is already in your
node_modules folder for unrelated reasons, but it may break at any time.

babel-preset-react-app is part of the create-react-app project, which
is not maintianed anymore. It is thus unlikely that this bug will
ever be fixed. Add "@babel/plugin-proposal-private-property-in-object" to
your devDependencies to work around this error. This will make this message
go away.

我尝试在互联网上搜索解决方案,我发现只有一个告诉我将此插件添加到我的 devDependency 中,但不起作用,而且我还找到了一个告诉我输入

CI= npm run build 
的解决方案,但这也不起作用.

这就是我在打字时遇到的情况

npm list @babel/plugin-proposal-private-property-in-object


npm ERR! code ELSPROBLEMS
npm ERR! invalid: @babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2 C:\Users\Omri-PC\Desktop\KeeperApp\node_modules\@babel\plugin-proposal-private-property-in-object
[email protected] C:\Users\Omri-PC\Desktop\KeeperApp
├── @babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2 invalid: "^x.x.x" from the root project
└─┬ @svgr/[email protected] overridden
  └─┬ @babel/[email protected]
    └── @babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2 deduped invalid: "^x.x.x" from the root project

这就是我的 package.json 文件的样子,如果它能以某种方式帮助理解的话:

{
  "name": "keeper-app-part-1-starting",
  "version": "1.0.0",
  "description": "",
  "keywords": [],
  "main": "src/index.js",
  "dependencies": {
    "react": "18.2.0",
    "react-dom": "18.2.0"
  },
  "devDependencies": {
    "@svgr/webpack": "^8.0.1",
    "react-scripts": "5.0.1",
    "typescript": "5.1.3"
  },
  "overrides": {
    "@svgr/webpack": "$@svgr/webpack"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

希望我给你足够的信息来帮助我解决这个问题,非常感谢!

javascript node.js reactjs babeljs ejs
12个回答
65
投票

运行以下命令解决了我的问题

npm install --save-dev @babel/plugin-proposal-private-property-in-object

使用 --save-dev 将其安装在 devDependencies 下


11
投票

感谢大家,最终这解决了我的问题:

npm install --save-dev @babel/plugin-proposal-private-property-in-object --legacy-peer-deps


7
投票

我今天也遇到这个问题了。 我通过从here添加所需的库来解决,之后“npm start”和“npm run build”对我来说很好。 注:使用的版本号^7.21.11


4
投票

这是对我有用的 babel 包的组合:

"devDependencies": {
    "@babel/core": "7.22.5",
    "@babel/eslint-parser": "7.22.5",
    "@babel/plugin-proposal-private-property-in-object": "7.21.11",
    "@babel/preset-env": "7.22.5",
}

重要步骤:

@babel/plugin-proposal-private-property-in-object
添加到 .babelrc 插件。像这样的东西:

"plugins": [
    ["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
]

参见 GitHub 问题: https://github.com/babel/babel-plugin-proposal-private-property-in-object/issues/1


3
投票

我尝试将

"@babel/plugin-proposal-private-property-in-object": "^7.21.11"
添加到 devDependency,并且我的
CI=npm run build
已成功完成。


3
投票

今天早些时候我正在从事一个业余爱好项目,并收到了同样的警告。您只需在项目中安装的版本的

devDependency
对象下添加 "@babel/plugin-proposal-private-property-in-object" 的条目即可。您可以在以下路径中找到您的项目已安装的版本:

node_modules/@babel/plugin-proposal-private-property-in-object/package.json

一旦拥有此版本,只需更新项目主 package.json 文件中的条目(具有 runtest 命令等)。

以下是我修改以消除警告消息的 package.json 文件的内容:

{
  "name": "clothes_shop",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-scripts": "5.0.1",
    "web-vitals": "^2.1.4"
  },
  "devDependencies": {
    "@babel/plugin-proposal-private-property-in-object": "^7.21.0-placeholder-for-preset-env.2"
  },
  "scripts": {
    "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"
    ]
  }
}

2
投票

今天也开始出现这个问题。将推荐的包添加到 devDependency 但也没有成功。

更新:更新我的全局纱线安装(或者可能是您选择的任何包管理器)似乎可以解决问题。

后续:此修复适用于我的开发和主机服务器,但不适用于我的生产节点容器。


2
投票

您的依赖项之一

babel-preset-react-app
正在导入
@babel/plugin-proposal-private-property-in-object
包,但未在其依赖项中声明它。

此功能目前有效,因为

@babel/plugin-proposal-private-property-in-object
已经在您的
node_modules
文件夹中,但由于不相关的原因,它可能随时会中断。

babel-preset-react-app
create-react-app 项目的一部分,该项目不再维护。

因此这个错误不太可能被修复。

@babel/plugin-proposal-private-property-in-object
添加到您的 devDependency 以解决此错误。这将使该消息消失。

这个命令可以帮助你解决这个问题:

npm install --save-dev @babel/plugin-proposal-private-property-in-object --legacy-peer-deps

1
投票

如果您喜欢

yarn
,这是等效的命令

yarn add @babel/plugin-proposal-private-property-in-object --dev

0
投票

我在 VS 代码上收到此消息:

您的依赖项之一 babel-preset-react-app 正在导入
“@babel/plugin-proposal-private-property-in-object”包没有
在其依赖项中声明它。这目前正在发挥作用,因为
“@babel/plugin-proposal-private-property-in-object”已经在你的
由于不相关的原因,node_modules 文件夹,但它可能随时损坏。

要解决这个问题,只需安装警告所建议的内容,我正在使用 npm,所以只需执行以下操作:

npm 我@babel/plugin-proposal-private-property-in-object -D

-D表示仅用于本地开发


0
投票

我意识到我收到此错误是因为我正在使用 Chakra UI,并使用旧版浏览器不易使用的私有语句。

我按照此处的说明安装了该软件包: https://www.npmjs.com/package/@babel/plugin-proposal-private-property-in-object

npm install --save-dev @babel/plugin-proposal-private-property-in-object

最后,我必须添加一个 Babel 文件

.babelrc

{
"presets": ["@babel/preset-env", "@babel/preset-react"],
"plugins": ["@babel/plugin-proposal-private-property-in-object"]

}


0
投票

运行此行:

npm install --save-dev @babel/plugin-proposal-private-property-in-object

© www.soinside.com 2019 - 2024. All rights reserved.