# 安装依赖$pnpminstall# 给指定 workspace 安装依赖$pnpmadd<package-name>--filter<workspace-name># 卸载依赖$pnpmuninstall<package-name>--filter<workspace-name># 更新依赖$pnpmupdate<package-name>--filter<workspace-name># 给根目录安装依赖 - -w 为安装 -workspace-root$pnpmadd<package-name>-<D>w#...
安装内部workspace依赖 bash pnpmadd<package-name>--filter<workspace-name># orpnpmaddweb--filterdocs 请注意你当前的pnpm版本,在9.0后pnpm修改link-workspace-packages的默认值为false。该属性开启后,你在安装依赖时优先在本地链接,而不是从registry(远程) 中下载。
选定的工作空间(即包)中运行所选的 yarn 命令yarn workspace <package-name> # 添加依赖yarn workspace docs add dayjs# 移除依赖yarn workspace docs remove dayjs 如果你想为所有的包添加一个共同的依赖关系,进入项目的根目录并使用-W (或-ignore-workspace-root-check) 标志 yarn add dayjs -W -D 在doc...
3.8、指定项目按照common下依赖 pnpm i @common/components --filter app-base 安装后package.json增加依赖,子项目node_modules增加依赖,同样运行成功。 四、pnpm-workspace项目部署-思路 有本人“三”看出,组件部分式放在了node_modules下,由package.json管理,和普通的项目其实是一样了,部署思路同普通项目。 CentOS部...
如上图所示的 packageX 2.0 和 packageY 2.0 被重复安装多次,从而造成 npm 和 yarn 的性能一些性能损失。 这种场景在 monorepo 多包场景下尤其明显,这也是yarn workspace经常被吐槽的点,另外扁平化的算法实现也相当复杂,改动成本很高。 那么pnpm是如何解决这种问题的呢?
pnpm是新一代的包管理工具,号称是最先进的包管理器。按照官网说法,可以实现节约磁盘空间并提升安装速度和创建非扁平化的 node_modules 文件夹两大目标,具体原理可以参考pnpm 官网。 pnpm提出了workspace的概念,内置了对monorepo的支持,那么为什么要用pnpm取代之前的lerna呢?
类型是在后端代名仓定义,前端想要使用,就要像安装依赖一样,先把后端代名仓引用过来。 pnpm workspace 提供了项目间引用的方式,在前端项目的 package.json 里增加依赖: "dependencies":{"server":"workspace:*",}, 到根目录下,重新更新依赖。前端项目就可以引用了。
还有一种场景就是在 lerna + yarn workspace 的项目里面,因为 yarn 中提供了 hoist 机制(即一些底层子项目的依赖会被提升到顶层的node_modules中),这种 phantom dependencies 会更多,一些底层的子项目经常会去 require 一些在自己里面没有引入的依赖,而直接去找顶层 node_modules 的依赖(nodejs 这里的寻径是个递归...
5687 110 40:07 App 使用pnpm workspace 管理 monorepo 486 -- 6:15 App Linux包管理器详解 2176 2 6:04 App 【小左】yarn,npm,cnpm分不清楚?使用nrm来对npm源地址进行管理! 4928 16 1:02:20 App 【一起玩Linux02】包管理器Pacman和yay使用及换国内源,安装谷歌拼音中文输入法 4926 67 3:46 App ...