npm WARN deprecated core-js@2.6.11: core-js@<3 不再维护,由于问题数量不推荐使用

Posted

技术标签:

【中文标题】npm WARN deprecated core-js@2.6.11: core-js@<3 不再维护,由于问题数量不推荐使用【英文标题】:npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues 【发布时间】:2020-04-12 17:02:57 【问题描述】:

我在创建新的 Angular 应用程序时遇到错误 -

npm WARN deprecated core-js@2.6.11: core-js@

我尝试了下面链接中给出的解决方案,但它对我不起作用-Error: Please, upgrade your dependencies to the actual version of core-js@3

当我使用 'ng --version' 命令检查 Angular 的版本时,我看到 &lt;error&gt; 是下面列出的包的版本 -

@angular-devkit/architect    
@angular-devkit/core         
@angular-devkit/schematics   
@schematics/angular          
@schematics/update   

您能否建议出现了什么问题以及需要采取什么措施来解决此问题?

附: - 同样的功能在前一天运行良好。并且已经创建的项目在本地运行良好。

【问题讨论】:

在您的项目目录中运行命令“npm outdated”。并查看当前版本和通缉版本之间的差异。并尝试升级它们以匹配想要的版本。 在项目目录中使用“npm outdated”命令,我得到了要更新/安装的软件包列表。我确实在项目目录中安装/更新了这些包,然后我可以成功运行应用程序。但是,当我尝试使用“ng new test-project”创建一个新项目时,我得到了同样的错误。我应该如何永久解决这个问题? github.com/npm/npm/issues/19672#issuecomment-397323622请参考本帖 @SurjeetBhadauriya 当我运行命令“npm outdated”时,为什么“core-js”没有出现?该命令的输出列出了一些其他模块。我更新了它们,但我如何确保 core-js 已更新以解决原始问题? 【参考方案1】:

确实问题出在缓存上。 npm clean-install 工作。

【讨论】:

【参考方案2】:

试试:

npm cache clean --force
npm install -g @angular/cli@latest

【讨论】:

npm cache clean --force 命令抛出错误:module.js:550 throw err; ^ 错误:找不到模块'../lib/utils/unsupported.js'【参考方案3】:

这是一个 npm 缓存问题。前往路径:

窗口:%AppData%/npm-cache Linux/OSX:~/.npm

并删除其内容。然后以管理员模式打开你的控制台,再次执行npm install命令

【讨论】:

这真的行不通。除了已弃用的消息之外,我还收到一条错误消息,“在 '....1 附近解析时 JSON 输入意外结束”【参考方案4】:

您应该将 core-js 的版本更新到 3 以上的版本。 npm install --save core-js@^3

您也可以使用更新过时的软件包 npm update [-g] [<pkg>...]

【讨论】:

我尝试安装 core-js 的第 3 版,但它不起作用。我收到以下错误 - npm WARN saveError ENOENT:没有这样的文件或目录,打开 'D:\TypeScript_WorkSpace\package.json' npm WARN enoent ENOENT:没有这样的文件或目录,打开 'D:\TypeScript_WorkSpace\package.json' npm WARN TypeScript_WorkSpace 没有描述 npm WARN TypeScript_WorkSpace 没有存储库字段。 npm WARN TypeScript_WorkSpace 没有 README 数据 npm WARN TypeScript_WorkSpace 没有许可字段。如果我从项目目录中运行此命令,它可以工作,但在创建新项目时,它不会。 您的第二个建议是一个很好的开始,但我想在您的回答中添加的是我们如何检测我们使用 core-js@ 开始使用哪些包。一旦我们知道如何做到这一点,那么作为最后一步,您的第二行就更有意义了。 @klewis 您可以通过运行命令npm ls core-js 来识别哪些包依赖于 core-js。此外,您可以通过运行npm ls core-js@2 来专门识别 v2 引用。【参考方案5】:

在从依赖关系 com.vaadin.vaadin 切换到 com.vaadin.vaadin-core 后,我在使用 Vaadin 14.1.3 的 Vaadin 项目中观察到此警告消息。 执行以下步骤后警告消失了:

    删除package-lock.json 执行mvn clean 执行mvn update

【讨论】:

package-lock.json 文件在哪里? 在我的例子中,package-lock.json 被放置在 Vaadin 项目的根目录中。它与放置 package.json 的目录相同,与放置 pom.xml 的位置相同(如果您使用 Maven 项目)。【参考方案6】:

所以问题在于您项目中的软件包版本。

在您的项目目录中运行命令npm outdated。并查看 CurrentWanted 版本的软件包之间的区别。

然后升级所有包以匹配想要的版本。

【讨论】:

给出的解决方案确实适用于特定项目,但问题是当我尝试创建任何其他新应用程序时也会出现同样的问题。

以上是关于npm WARN deprecated core-js@2.6.11: core-js@<3 不再维护,由于问题数量不推荐使用的主要内容,如果未能解决你的问题,请参考以下文章

npm报错:npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

解决npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead.

npm WARN deprecated tar@2.2.2: 此版本的 tar 不再受支持,并且不会收到安全更新。请尽快升级

npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead.

创建react工程报错:npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not

npm WARN babel-loader@6.2.8 需要 babel-core@^6.0.0 的对等点,但没有安装