Tiven

Tiven

博观而约取,厚积而薄发

天问的个人网站(天问博客),专注于Node.js、Vue.js、React、Vite、Npm、Nginx等大前端技术。不断学习新技术,记录日常开发问题,持续分享coding,极客开源,共同进步。生命不息,奋斗不止... [ hexo blog ]

egg报错Cannot set property router of #<Object> which has only a getter


最近使用 pnpm 安装 egg-init egg-example --type=simple 生成项目的依赖,在运行后请求路由出现报错:TypeError: Cannot set property router of #<Object> which has only a getter

Egg.js

报错原因

使用 pnpm 安装项目依赖,会锁定版本依赖。

问题解决

解决锁定版本依赖,有以下两种方案,可以根据自己的项目情况来选择。

  1. 使用 npm 安装,删除 node_modulesyarn.lockpnpm-lock.yaml 等文件,然后重新安装。
rm -rf node_modules yarn.lock pnpm-lock.yaml

npm i --no-package-lock
  1. 使用 pnpm 安装,删除 package.json 中 egg 的依赖项,重新安装 egg 最新的版本。
pnpm add -D egg

参考文档:https://github.com/eggjs/egg/issues/3457


欢迎访问:天问博客