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 的版本时,我看到 <error>
是下面列出的包的版本 -
@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
。并查看 Current
和 Wanted
版本的软件包之间的区别。
然后升级所有包以匹配想要的版本。
【讨论】:
给出的解决方案确实适用于特定项目,但问题是当我尝试创建任何其他新应用程序时也会出现同样的问题。以上是关于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