【问题标题】:How to make pnpm use symlinks for a global directory?如何使 pnpm 对全局目录使用符号链接?
【发布时间】:2021-02-20 02:13:39
【问题描述】:

我开始在我的 Electron 项目中使用 pnpm,因为它比 npmyarn 快。据我所知,它首先在project/node_modules/.pnpm 中创建所有模块,project/node_modules 中的所有包都引用.pnpm 目录中的模块。

这已经是一个改进,但是有没有办法把.pnpm放在外面?

目前,我的 Gitlab 运行器会删除每个管道的 node_modules 和包含 .pnpm 的目录。在这种情况下,它将有一个全局项目 node_modules 目录,我可以保留许多管道。谢谢!

【问题讨论】:

    标签: node.js npm electron pnpm


    【解决方案1】:

    node_modules/.pnpm 目录称为虚拟存储目录。可以通过设置virtual-store-dir 设置来更改其位置。

    虚拟存储目录中的文件只是指向内容可寻址存储的硬链接。我认为您不需要缓存此目录的内容。您需要缓存全局存储(内容可寻址存储)。全局存储默认位于~/.pnpm-store。可以通过store-dir 设置更改其位置。

    【讨论】:

    • 您好!我目前正在为我公司的 TS monorepo 进行 CI 配置,我知道我们需要缓存 pnpm-store 文件夹而不是 node_modules 文件夹。我们正在使用 Gitlab CI,我想知道安装后触发的作业是否需要在他们的职责之前执行pnpm install,并且缓存已从安装作业中恢复。至少这是我的理解,这就是我在一个业余项目中所做的。您能确认这是缓存安装的正确方法吗? P.S:我们的缓存键是锁文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多