【问题标题】:How to exclude package from being installed via symlink in pnpm?如何在 pnpm 中通过符号链接排除软件包安装?
【发布时间】:2020-11-20 01:05:16
【问题描述】:

我有一个 Electron 项目并使用了 pnpm,因为它在通过 npmyarn 安装模块时显着加快了速度。

但是,1 模块通过node_modules 目录中的符号链接安装存在问题。有什么方法可以排除依赖成为符号链接?

据我了解文档,具有以下设置的.npmrc 文件应该足够了,但它不起作用:

hoist-pattern[]=*nodegit*

【问题讨论】:

  • 你有没有试过在你的 .npmrc 中使用也可耻的-hoist=true?
  • 我试试看!谢谢!如果解决了我会尽快报告
  • 我刚试过,以@ 开头的模块似乎是硬链接的,其他所有内容仍然是符号链接的,nodegit 也是如此:-(

标签: node.js electron pnpm


【解决方案1】:

从 5.14 版开始,避免使用 pnpm 进行符号链接的唯一方法是使用 Plug'n'Play feature 并将 symlink 设置为 false。您可以在项目的根目录中创建一个.npmrc,内容如下:

node-linker=pnp
symlink=false

使用提升设置只能减少符号链接的数量,而不是避免它们。这篇博文应该解释不同的配置:Node-Modules configuration options with pnpm。使用hoist=false,您将获得最少的符号链接。

众所周知,Plug'n'Play 仍然存在很多问题,因此如果没有帮助,请随时在 pnpm discord channel 寻求帮助或创建问题 in our repository

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-08
    • 2022-11-16
    • 2012-12-07
    • 2017-09-20
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多