这是一个 pnpm 的 Feature 引起的 Bug。 简单来说就是 pnpm 默认只会把你 package.json 里声明的那些依赖安装到 node_modules 根目录下,这就避免了所谓的“**幽灵依赖** ”问题。但有的时候 TS 的类型自动推断却需要这些幽灵依赖参与(比如你这里就是需要 `@vue/shared`,可你又没显式安装过它,所以报错)。 目前来说的话解法就是你显式去安装一下这些缺失的依赖。 > > [https://github.com/microsoft/TypeScript/issues/42873](https://link.segmentfault.com/?enc=u83sus2da9B%2FtZfOKfLfMg%3D%3D.qKcbCkrvGrFdCPbyVdc2ld0KqxoQHyKxvbCNxlC25BkYZON5JzFRQD5kjZoTarIpV5CqHfpC%2B7%2BoIBYozGimvQ%3D%3D) > > [https://github.com/microsoft/TypeScript/issues/47663](https://link.segmentfault.com/?enc=nHY8FSRI4gPd1SUqlf3vow%3D%3D.g0j0zxFTbdwdSZFFjDfAyO4Uu32u5v0DXuFXilejlDgMRZCr9%2BwGhke%2BVrNbbe5jFZMLhtVLh97Y%2FnLHMMtO1w%3D%3D)