最近使用 pnpm 安装 egg-init egg-example --type=simple
生成项目的依赖,在运行后请求路由出现报错:TypeError: Cannot set property router of #<Object> which has only a getter
。
报错原因
使用 pnpm 安装项目依赖,会锁定版本依赖。
问题解决
解决锁定版本依赖,有以下两种方案,可以根据自己的项目情况来选择。
- 使用 npm 安装,删除
node_modules
和yarn.lock
、pnpm-lock.yaml
等文件,然后重新安装。
rm -rf node_modules yarn.lock pnpm-lock.yaml
npm i --no-package-lock
- 使用 pnpm 安装,删除 package.json 中 egg 的依赖项,重新安装 egg 最新的版本。
pnpm add -D egg
参考文档:https://github.com/eggjs/egg/issues/3457
欢迎访问:天问博客