Typescript 编译器找不到带有 yarn 的节点 - 找不到 'node' 的类型定义文件

Typescript compiler can't find node with yarn - Cannot find type definition file for 'node'

我安装了@types/node。我正在使用纱线 2 (PnP)。好像 Typescript 找不到 @types/node 包?

运行 yarn build 构建脚本 webpack 显示有关无法解析模块(路径、缓冲区等)的错误

运行 tsc 显示 TS2688: Cannot find type definition file for 'node'.

运行 'ts-node' 然而确实工作正常。

我的tsconfig.json如下:

{
  "compilerOptions": {
    "outDir": "./dist",
    "rootDir": "./src",
    "module": "commonjs",
    "target": "es6",
    "jsx": "react",
    "allowJs": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
    "lib": [
      "ES2020",
      "DOM"
    ],
    "types": ["node"]
  },
  "include": [
    "src/**/*"
  ]
}

我的webpack.config.js

module.exports = {
  mode: "development",
  devtool: "inline-source-map",
  entry: "./src/server.ts",
  output: {
    filename: "bundle.js"
  },
  resolve: {
    extensions: [".tsx", ".ts", ".js"]
  },
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: [{
          loader: 'ts-loader',
          options: {
            transpileOnly: true,
            experimentalWatchApi: true,
            onlyCompileBundledFiles: true,
          },
        }],
        exclude: /node_modules/,
      }
    ]
  }
};

似乎问题在于 tsc (Typescript v4.3.5) 目前不支持 PnP,需要 @yarnpkg/pnpify tool 作为解决方法。

我通过重新安装 node.js 在我的计算机上解决了这个问题,因为程序 yarn 依赖于它。只需下载 node.js 和 运行 安装程序 - 它与 yarn 包无关,尽管我尝试了各种 yarn 命令,甚至清除缓存,作为项目之前编译的谜题和 运行.