【问题标题】:typescript version mismatch打字稿版本不匹配
【发布时间】:2021-12-06 03:56:42
【问题描述】:

我的项目结构如下:

workspace
  |__pkg1
      |__tsconfig.json
      |__package.json
      |__ts/
  |__pkg2
      |__tsconfig.json
      |__package.json
      |__ts/
  |__lerna.json
  |__package.json
  |__tsconfig.json

在 workspace/package.json 中,我将 typescript 版本指定为“^4.2.3”。要安装所有包的依赖项,请在工作区目录下运行命令:

npm install & lerna bootstrap && lerna run build

“lerna bootstrap”将安装 pkg1 和 pkg2 的所有依赖项,“lerna run build”(相当于在 pkg1 和 pkg2 中运行“npx tsc”)将从 pkg1 和 pkg2 编译 ts/ 文件夹中的 typescript。原来workspace目录下的tsc版本确实是4.2.3,但是在pkg1和pkg2中,typescript版本是4.5.2

cd pkg1 && npx tsc -v # output is Version 4.5.2

我已尝试 (1) 在工作区/package.json 中将“^4.2.3”更改为“4.2.3”,(2) 在 pkg1 和 pkg2 的 package.json 中明确指定 typescript 版本。 (3) 删除所有 package-lock.json 文件。但是,它们都不起作用。我该如何解决?

在实践中,我需要为这个项目构建一个干净的 docker 镜像。它有多个 pkg,所以我不想在每个包目录中一一安装 typescript。

【问题讨论】:

    标签: javascript typescript lerna


    【解决方案1】:

    尝试从 package-lock.json 和 npm install 中删除所有与 typescript 相关的代码并检查。我认为这应该可以解决问题,因为我以前也经历过。

    【讨论】:

    • 我还删除了工作区中的所有 package-lock.json,pkg1 和 pkg2,结果仍然相同。运行 lerna bootstrap 时会自动安装较新的版本
    猜你喜欢
    • 1970-01-01
    • 2019-03-03
    • 2019-10-13
    • 2018-05-10
    • 2022-01-18
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多