在node_modules
文件夹中有一个prettier
安装包。json表示"version": "1.19.1",
),这是覆盖。pretierrc在我的项目根。
当我删除该目录时,格式恢复正常。
但这只是暂时的,因为npm i
把它放了回来。有些东西有它作为依赖,即使搜索"prettier"
或1.19.1
只返回package-lock.json
。
我有其他项目没有node_modules安装prettier也能正常工作,但这个github模板有。
我怎样才能弄清楚?理想情况下,我只想使用项目级别.prettierrc
。
您可以通过在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)强制版本的更多信息和替代方案可以在这个StackOverflow答案中找到:我如何覆盖嵌套的npm依赖版本?