# 安装依赖$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(远程) 中下载。
注意的是在 workspace 中,如果想要安装在 root workspace 中需要添加-w或者--ignore-workspace-root-check,安装到 packages 中需要使用--filter,否则会安装失败 5 种安装姿势: npm(默认): workspace 中 会先确认改包是否被引用,是的话根据使用版本来安装; 非 workspace 中,默认会从npm registry安装最新的 package...
环境与版本 platform => mac os node => v22.2.0 npm => 10.8.0 pnpm => 9.1.3 yarn => 1.22.22 名词解释monorepo利用单一仓库来管理多个 packages 的一种策略,如早期的 lerna workspace由上述单仓多包Kshao123 added Gitalk 5822feff6860b56040d6e7473a2a954d labels Sep 4, 2024 Sign up for free...
这些包管理工具与 monorepo 的关系在于它们可以为 monorepo 提供依赖安装与依赖管理的支持,借助自身对 workspace 的支持,允许在 monorepo 中的不同子项目之间共享依赖项,并提供一种管理这些共享依赖项的方式,这可以简化依赖项管理和构建过程,并提高开发效率。
团队成立初期我们采用 npm3 来管理项目依赖,后续我们研发了自己组件库、图表库、工具库,采用了 monorepo 管理,依赖管理也由 npm3 切换成了 yarn(yarn workspace)。不管是 npm3 还是 yarn 都采用扁平化的 node_modules 文件夹方式,以此避免引入层级过深、相同依赖版本重复等问题。
从中可以看到,总体而言,pnpm 的包安装速度还是明显优于 yarn PnP的。 2. 高效利用磁盘空间 pnpm 内部使用基于内容寻址的文件系统来存储磁盘上所有的文件,这个文件系统出色的地方在于: 不会重复安装同一个包。用 npm/yarn 的时候,如果 100 个项目都依赖 lodash,那么 lodash 很可能就被安装了 100 次,磁盘中就有...
在Hono.js 后端项目中导出类型,通过 pnpm 搭建 monorepo workspace ,即可在前后端项目间共享类型,实现类型安全的 RPC 客户端。 在这里,只有一个很简单的场景,就是在前端项目拿到共享类型,构建 RPC 客户端,所以只需要非常简单的设置即可完成。 创建项目主目录 ...
--global:安装到全局 --workspace:仅添加在 workspace 内找到的依赖项 pnpm install 被细分出来的install命令是用来安装项目所有依赖。 支持的参数 --force 强制重新安装依赖。 --offline 默认值:false 如果设置了--offline参数,pnpm会只使用本地缓存的包,如果本地没有找到某个包,最终安装就会失败。
pnpm add @my-vue/shared@workspace --filter @my-vue/reactivity 意思是,将本地workspace内的@my-vue/shared包,安装到@my-vue/reactivity包中去。 此时,查看reactivity包的依赖信息: "dependencies":{"@my-vue/shared":"workspace:^1.0.0"} 编写构建脚本 ...