“如何在我的项目中匹配 typescript 版本,因为它显示错误“需要 typescript@>=2.7.0 <2.8.0”

Posted

技术标签:

【中文标题】“如何在我的项目中匹配 typescript 版本,因为它显示错误“需要 typescript@>=2.7.0 <2.8.0”【英文标题】:"How do I match typescript versions in my project as it shows error "requires typescript@>=2.7.0 <2.8.0" 【发布时间】:2020-02-16 14:56:33 【问题描述】:

我的 angular/CLI 和我的项目之间的 typescript 版本有问题。当我跑步时 ng v 我看到 typescript 的版本是 2.7.2 但是当我使用 ng serve 运行我的项目时,我收到以下警告消息:"@angular/compiler-cli@6.1 .10 需要 typescript@'>=2.7.0 我尝试了一些解决方案。

    我去了package-lock.json并删除了它然后我打开了 package.json 和我在 devDependencies 部分更改了版本 "typescript":"^2.8.0"。然后我跑了npm install 但是 此解决方案不起作用,我收到此错误“编译失败”

    我运行了这个命令npm install typescript@'&gt;=2.7.0 &lt;2.8.0',但在运行ng serve 之后,我又得到了同样的错误,“编译失败”

    我删除了node_modules 文件夹并删除了packages-lock.json,并在devDependencies 部分将package.json 中的打字稿版本更改为~2.8.0 但我又遇到了同样的错误, “编译失败”

    我尝试使用此命令 npm uninstall -g --save typescript@2.9.2 删除 typescript 2.9.2 然后我删除了 package-lock.json 并将 package.json 中的 typescript 版本更改为 ~2.8.0 之后,我运行了 npm install。尽管如此,我还是收到了一些关于打字稿版本的警告消息。

我使用 Angular/CLI 6.0.8,我想知道如果我升级这个版本,我是否能够使用更新版本的 CLI 来学习我正在学习的课程? 我不知道角度如何工作并检查系统中安装的打字稿版本和项目中安装的版本。我想了解这件事。我希望有人能澄清这一点并指导我寻求另一种解决方案。

【问题讨论】:

如果是 Windows,请尝试在项目文件夹中使用双引号 npm install typescript@"&gt;=2.7.0 &lt;2.8.0" 我已经这样做了。 我知道这是一个较老的问题。你不能使用 2.8.0,因为它说低于&lt;,不低于或等于&lt;=。请改用~2.7.0 【参考方案1】:

正如@nayakam 在评论中解释的那样。您需要在项目文件夹中使用 npm 命令:npm install typescript@"&gt;=2.7.0 &lt;2.8.0"

您可以更新库的每个部分,您可以使用它们的不同版本。您得到的错误是,某些库可能不适用于您安装的 typescript 版本。

【讨论】:

不,这并不总能解决这个问题。我是用双引号做的。 因此,如果未安装软件包,请查找 2.7.0 和不高于 2.8.0 之间的版本并安装它。或者,如果应用工作正常,请避免此消息。 我有一些不清楚的地方。命令 ng v 显示 typescript 2.7.2。我使用角度/cli 6.0.8。那么是否可以只更新打字稿而不更新 angular/cli? 是的,您可以更新库的每个部分,您可以使用它们的不同版本。您得到的错误是某些库可能不适用于您安装的 typescript 版本。

以上是关于“如何在我的项目中匹配 typescript 版本,因为它显示错误“需要 typescript@>=2.7.0 <2.8.0”的主要内容,如果未能解决你的问题,请参考以下文章