pnpm link如何不踩坑

前提一:我有一个source-project源码库,有一个develop-project项目库。想使用pnpm link对source-project进行本地调试。

前提二:source-project源码库已打包

本地调试详细步骤如下:

1、检查是否配置了系统环境变量,PNPM_HOME: C:\Users\xxx\AppData\Local\pnpm,并将 PNPM_HOME 放到环境变量-用户变量的 Path 里。

2、在 source-project 目录下执行 `pnpm link`:

bash 复制代码
PS D:\source-project> pnpm link    

Lockfile is up to date, resolution step is skipped

C:\Users\xxx\AppData\Local\pnpm\global\5:

+ source-project 0.0.4 <- D:\source-project

# 注意:如果显示的版本号与package.json里的不一致,

# 可以删除 C:\Users\xxx\AppData\Local\pnpm\global\5 文件夹,再执行一遍 pnpm link。

# 一定要时刻检查,C:\Users\xxx\AppData\Local\pnpm\global\5\node_modules\source-project 是能访问的!

3、在develop-project 执行 `pnpm link source-project`(没有-g!),node_modules/source-project 会更新为本地source-project。

bash 复制代码
PS D:\develop-project> pnpm link source-project

Progress: resolved 983, reused 899, downloaded 0, added 0, done

. postinstall$ husky install

│ husky - Git hooks installed

└─ Done in 1.2s

dependencies:

+ source-project 0.0.4 <- C:\Users\xxx\AppData\Local\pnpm\global\5\node_modules\source-project

# develop-project 执行完`pnpm link source-project`会生成一个pnpm-workspace.yaml,要留意里面指向的本地依赖包的地址能访问!

4、调试结束后,使用 `pnpm uninstall source-project`卸载本地source-project。

其他问题:

Q:如果在develop-project 执行 `pnpm link source-project -g`会发生什么?

A:命令报错:ERR_PNPM_CANNOT_REMOVE_MISSING_DEPS Cannot remove 'source-project': no such dependency found in 'dependencies'。同时,C:\Users\xxx\AppData\Local\pnpm\global\5\node_modules\source-project 会删掉

相关推荐
gs801401 天前
pnpm + webpack + vue 项目依赖缺失错误排查与解决
pnpm·1024程序员节
JinSoooo3 天前
pnpm monorepo 联调:告别 --global 参数
开发语言·javascript·ecmascript·pnpm
奋飛3 天前
Monorepo系列:Pnpm Workspace 搭建 Monorepo
pnpm·monorepo·pnpm workspace·catalogs·pnpm filter
前端架构师-老李3 天前
npm、yarn、pnpm的对比和优略
前端·npm·node.js·pnpm·yarn
skywalk81639 天前
pnpm(‌P‌erformance ‌N‌ode ‌P‌ackage ‌Manager‌)包管理工具在FreeBSD系统下的安装使用
人工智能·pnpm·freebsd·iflow
梵得儿SHI9 天前
Vue 开发环境搭建全指南:从工具准备到项目启动
前端·javascript·vue.js·node.js·pnpm·vue开发环境·nvm版本管理
BrightMZM15 天前
记录一下Unity的BUG,Trial Version
unity·bug·打包·trial
weicy2 个月前
旧版本Flutter使用xcode16打包上架时报错
打包·打包错误·审核
EndingCoder2 个月前
打包应用:使用 Electron Forge
前端·javascript·性能优化·electron·前端框架·打包·electron forge
williamdsy2 个月前
实战复盘:pnpm Monorepo 中的 Nuxt 依赖地狱——Unhead 升级引发的连锁血案
vue.js·pnpm