fed*_*me1 46 javascript node.js eslint pnpm vite
如何(或在哪个文件上)设置 true 来自动安装依赖项?
我的终端错误:

提示:如果您希望自动安装对等依赖项,请将“auto-install-peers”设置设置为“true”。提示:如果您不希望 pnpm 在对等依赖问题上失败,请将“strict-peer-dependencies”设置设置为“false”。
auto-install-peers = true
Run Code Online (Sandbox Code Playgroud)
mrm*_*hal 76
pnpm 使用 npm 的配置格式。因此,您应该以与 npm 相同的方式设置配置:
pnpm config set auto-install-peers true
Run Code Online (Sandbox Code Playgroud)
注意:上述命令使用默认配置位置,该位置存储本地用户帐户的设置(~/.npmrc对于 Linux 为 at,对于%USERPROFILE%\.npmrcWindows 为 at)。要将项目内的设置存储在.npmrc可以签入版本控制的文件中,您可以使用@ZoltanKochan指出的方法,或者等效地附加--location project到命令:
pnpm config set auto-install-peers true --location project
Run Code Online (Sandbox Code Playgroud)
Zol*_*han 34
您需要.npmrc在项目的根目录下创建一个包含以下内容的文件:
auto-install-peers=true
Run Code Online (Sandbox Code Playgroud)
mrmashal 的答案也适用,但仅限于您本地。因此,当其他人获取您的存储库时,他们不会自动安装对等点。
Moh*_*lal 16
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
Run Code Online (Sandbox Code Playgroud)
auto-install-peers=true 现在使 pnpm 的工作方式与 npm v7 相同。来自 pnpm v7.1.3(参考)
和.npmrc是not automatic相关开发人员的选择。有些人支持,有些人不支持。(参考1,参考2)
为此,您必须创建一个.npmrc文件并添加:
auto-install-peers = true
Run Code Online (Sandbox Code Playgroud)
这是最好的办法。因为它为使用该项目和存储库的所有开发人员创建了一致性。相同的配置。
因此,简单来说,如果您有一些需要对等的软件包,只需添加配置即可。您会收到一个很好的警告,提醒您是否存在带有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?(不)没有--auto-install-peersarg。
可以在此处检查功能,请在此处询问https://github.com/pnpm/pnpm/issues/5284
被拒绝了。
原因是可以理解的。.npmrc更利于一致性。这样人与物的pnpm install作用总是一样的。没有忘记任何事情。
我建议使用
.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>
Run Code Online (Sandbox Code Playgroud)
该包将根据使用的标志自动将依赖项添加到package.jsonindependencies或中。devDependencies
小智 8
通过运行以下命令删除节点模块:
rm -rf node_modules
Run Code Online (Sandbox Code Playgroud)
然后再次运行:
pnpm install
Run Code Online (Sandbox Code Playgroud)
我必须.npmrc在项目的根目录下创建auto-install-peers=true,然后删除该pnpm-lock.yaml文件并运行pnpm i --shamefully-hoist
| 归档时间: |
|
| 查看次数: |
66423 次 |
| 最近记录: |