如何(或在哪个文件上)设置 true 来自动安装依赖项?
我的终端错误:
提示:如果您希望自动安装对等依赖项,请设置 “auto-install-peers”设置为“true”。提示:如果你不想 pnpm 在对等依赖问题上失败,设置 “严格对等依赖关系”设置为“假”。
auto-install-peers = true
pnpm 使用 npm 的配置格式。因此,您应该以与 npm 相同的方式设置配置:
pnpm config set auto-install-peers true
注意: 上述命令使用默认配置位置,该位置存储本地用户帐户的设置(对于 Linux,位于
~/.npmrc
,对于 Windows,位于 %USERPROFILE%\.npmrc
)。要将项目内的设置存储在可签入版本控制的 .npmrc
文件中,您可以使用 @ZoltanKochan 指出的方法,或者等效地将 --location project
附加到命令中:
pnpm config set auto-install-peers true --location project
您需要在项目的根目录创建一个
.npmrc
,其中包含以下内容:
auto-install-peers=true
mrmashal 的答案也适用,但仅限于您本地。因此,当其他人获取您的存储库时,他们不会自动安装对等点。
npm从v7开始。是否自动安装对等依赖项https://github.com/npm/rfcs/blob/main/implemented/0025-install-peer-deps.md。
pnpm 不会自动执行此操作。即使在这个阶段。 https://github.com/pnpm/pnpm/discussions/3995#discussioncomment-1893230
npm 仅对.npmrc
auto-install-peers = true
auto-install-peers=true 现在使 pnpm 的工作方式与 npm v7 相同。来自 pnpm v7.1.3 (ref)
.npmrc
和
not automatic
是相关开发人员的选择。有些人支持,有些人不支持。 (参考1,参考2) .npmrc
.npmrc
文件并添加:
auto-install-peers = true
这是最好的方法。因为它为使用该项目和存储库的所有开发人员创建了一致性。相同的配置。因此,简单来说,如果您有一些需要对等的软件包,只需添加配置即可。您有一个很好的警告,提醒您是否有带有
peer-dependencies
的包裹。
https://github.com/pnpm/pnpm/discussions/3995#discussioncomment-2797582
auto-install-peers=true 现在使 pnpm 的工作方式与 npm v7 相同。从 pnpm v7.1.3 开始
--auto-install-peers
arg 是否存在? (没有)
--auto-install-peers
arg。可以在这里查看功能询问
https://github.com/pnpm/pnpm/issues/5284
拒绝。原因是可以理解的。
.npmrc
更能保证一致性。所以人们
pnpm install
并且它的工作原理总是一样的。没有忘记任何事情。使用 install-peerdeps
我建议使用
.npmrc
。 -> 本机。直接前进。
注意:您可以考虑这个工具。如果您遇到一些 pnpm 错误(例如:1)以及对等依赖关系处理的不一致。许多问题尚待解决。我会选择
.pnpmrc first
。如果有任何问题。我会使用这个工具。
https://www.npmjs.com/package/install-peerdeps
install-peerdeps
支持pnpm。例如,
eslint-config-airbnb
中提到了该工具。示例:
npx install-peerdeps --pnpm <your-package>
# or
npx install-peerdeps -P <your-package>
# as dev dep
npx install-peerdeps -P -D <your-package>
# Peers only
npx install-peerdeps -P -D --only-peers <your-package>
# or
npx install-peerdeps -P -D -o <your-package>
该包将根据使用的标志自动将依赖项添加到 package.json
或
dependencies
中的
devDependencies
。
rm -rf node_modules
然后再次运行:
pnpm install
.npmrc
在项目根目录创建
auto-install-peers=true
,然后删除
pnpm-lock.yaml
文件并运行
pnpm i --shamefully-hoist
auto-install-peers=true
然后执行 pnpm install 或 pnpm install --force