首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制嵌套npm依赖项使用相同的依赖项

强制嵌套npm依赖项使用相同的依赖项
EN

Stack Overflow用户
提问于 2022-07-29 02:39:58
回答 1查看 128关注 0票数 1

我面临一个由较低版本的TypeScript引起的错误,根本原因是我更新了更漂亮的版本,相关文章:https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/60310

因此,依赖性问题是:

React ->类型记录@4.7.4

Other-library -> Webpack-dev server -> TypeScript@3.8.2

Prettier -> TypeScriptv4+

由于需要更漂亮的TS版本4+,而Webpack开发服务器的版本为3.8.2,这将导致程序抛出错误。

我不能更改其他库的版本,但我仍然需要TypeScript的版本才能成为v4+。

我正在看这篇文章:How do I override nested NPM dependency versions?

这似乎正是我所需要做的。

但是,在使用package.json中的重写属性之后,我确实看到React是拾取TypeScript版本的4.7.4,

但是,我得到以下错误:Child process failed to process the request: Error: Debug Failure. Palse expression. at resolveNamesWithLocalCache, at typescipt/lib

谢谢

我的包裹json看起来是:

代码语言:javascript
复制
{
   "devDependencies": {
      "typescript": "^4.7.4"
   },
   "overrides": {
      "webpack-dev-server": {
         "typescript": "$typescript"
      }
   }
}
`
EN

回答 1

Stack Overflow用户

发布于 2022-07-29 06:09:16

所以我查了一下,打字本只是"devDependencies"webpack-dev-server。它根本不应该安装。你怎么会在这种情况下

这一定是关于你安装这些软件包的方式。我不知道发生了什么,只需尝试完全删除node_modules文件夹,也可以删除package-lock.json,然后再删除npm install。您不需要那个"overrides"字段。

另外,在我看来,整个混乱都是因为@types/prettier而开始的。然而,除非您有一个非常具体的用例(我对此非常怀疑)需要与prettier的编程API集成,通过手工编写的TS代码,您根本就不需要@types/prettier。只要摆脱那个麻烦制造者,所有的@types/*包都是可选的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73161090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档