如何停止 node_modules 中更漂亮的依赖项覆盖项目 .prettierrc?

Posted

技术标签:

【中文标题】如何停止 node_modules 中更漂亮的依赖项覆盖项目 .prettierrc?【英文标题】:How do I stop the prettier dependency in node_modules overriding the project .prettierrc? 【发布时间】:2021-10-10 20:18:21 【问题描述】:

node_modules 文件夹中有一个prettier 安装(package.json 说"version": "1.19.1",)覆盖了我的项目根目录中的.prettierrc。

当我删除该目录时,格式恢复正常。

但这只是暂时的,因为npm i 把它放回去了。有些东西将其作为依赖项,即使搜索 "prettier"1.19.1 也只会返回 package-lock.json

我有其他项目可以在没有安装更漂亮的 node_modules 的情况下正常工作,但是这个 github 模板有它。

我该如何解决这个问题?理想情况下,我只想使用项目级别.prettierrc

【问题讨论】:

【参考方案1】:

您可以通过搜索您的package-lock.json 找出哪个包是罪魁祸首。那里的每个包都有一个requires 字段,其中列出了它的依赖项。这样您就可以遍历链来找出导致安装的依赖项。

一旦你找到了这个包,你有几个选项来强制一个特定的依赖。在您的情况下,您将强制安装最新版本的 prettier-plugin-svelte。在您的情况下,最好使用npm shrinkwrap。您首先将最新版本的prettier-plugin-svelte 添加到您的package.json,然后执行npm i,然后确保只有最新版本的prettier-plugin-svelte 出现在您的node_modules 中,然后运行npm shrinkwrap。更多信息在这里:https://nodejs.org/en/blog/npm/managing-node-js-dependencies-with-shrinkwrap/

有关各种工具 (npm/yarn) 的强制版本的更多信息和替代方法可以在这个 *** 答案中找到:How do I override nested NPM dependency versions?

【讨论】:

以上是关于如何停止 node_modules 中更漂亮的依赖项覆盖项目 .prettierrc?的主要内容,如果未能解决你的问题,请参考以下文章

我怎样才能用intellij在javascript中更漂亮的模板文字

VS代码/w。在 TypeScript Monorepo 中更漂亮

当我使用 Kotlin 在 Android Studio 中更改为另一个活动时如何停止崩溃

PHP 中更漂亮/信息更丰富的 Var_dump 替代方案? [关闭]

如何确定我的哪些依赖项依赖于我的 node_modules 中的特定包?

如何从 node_modules 文件夹添加 package.json 依赖项?