【问题标题】:Can't create new project in Angular: tsickle dependency problem无法在 Angular 中创建新项目:tsickle 依赖问题
【发布时间】:2021-05-04 22:52:12
【问题描述】:

我已经安装了:

  • node.js v15.6.0
  • npm 7.5.0
  • Angular CLI:11.1.2

我在 Windows 10 64 位上运行。

我正在尝试通过运行来创建我的第一个项目:

ng new angular-demo

其中“angular-demo”是项目名称。该命令创建一个包含一些初始文件的项目目录,然后运行 ​​npm 并在日志文件中显示以下消息失败

67 verbose argv "W:\\nodejs\\node.exe" "C:\\Users\\Tomasz\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" "--quiet"
68 verbose node v15.6.0
69 verbose npm  v7.5.0
70 error code ERESOLVE
71 error ERESOLVE unable to resolve dependency tree
72 error
73 error While resolving: angular-demo@0.0.0
73 error Found: typescript@4.1.3
73 error node_modules/typescript
73 error   peer typescript@"~4.0.0 || ~4.1.0" from @angular-devkit/build-angular@0.1101.2
73 error   node_modules/@angular-devkit/build-angular
73 error   peer typescript@">=4.0 <4.2" from @angular/compiler-cli@11.1.1
73 error   node_modules/@angular/compiler-cli
73 error     peer @angular/compiler-cli@"^11.0.0 || ^11.1.0-next" from @angular-devkit/build-angular@0.1101.2
73 error     node_modules/@angular-devkit/build-angular
73 error     peer @angular/compiler-cli@"11.1.1" from @angular/localize@11.1.1
73 error     node_modules/@angular/localize
73 error       peerOptional @angular/localize@"^11.0.0 || ^11.1.0-next" from @angular-devkit/build-angular@0.1101.2
73 error       node_modules/@angular-devkit/build-angular
73 error     1 more (ng-packagr)
73 error   1 more (ng-packagr)
73 error
73 error Could not resolve dependency:
73 error peer typescript@"~3.9.5" from tsickle@0.39.1
73 error node_modules/tsickle
73 error   peerOptional tsickle@"~0.39.0" from ng-packagr@11.1.2
73 error   node_modules/ng-packagr
73 error     peerOptional ng-packagr@"^11.0.0 || ^11.1.0-next" from @angular-devkit/build-angular@0.1101.2
73 error     node_modules/@angular-devkit/build-angular

我搜索了一下,发现 tsickle 是一些与 typescript 相关的工具,它只支持最多 3 个 typescript 版本,而不是 4 个。我不知道为什么 angular 会尝试安装 typescript 版本和 tsickle 的这种组合。

【问题讨论】:

    标签: angular angular-cli tsickle


    【解决方案1】:

    这是依赖冲突,因为它说 typescript 版本有问题。 但即使出现这个错误,也会创建一个项目文件夹。 你可以运行

    npm install --force

    来自 package.json 文件和初始文件生成的项目目录的命令。对于您的情况,在 angular-demo 目录下运行命令

    【讨论】:

    • 在项目文件夹中运行 npm install 再次出现同样的错误。编辑:通过 --force 成功
    【解决方案2】:

    我在使用 nodejs 15.8.0 (npm 7.5.1) 时遇到了类似的错误。

    当我卸载它并安装 LTS 版本 的 nodejs(当前为 14.15.4 和 npm 6.14.10)时,一切正常。 打开https://nodejs.org/en/download/并选择LTS最新版本。

    【讨论】:

      【解决方案3】:

      一个对我有用的解决方案是@ypolonsky 提出的解决方案的组合......但我又增加了一步。解决方案是卸载所有内容(甚至手动卸载全局节点模块),然后重新安装 Node。

      我正在使用 Windows 10 机器,接下来的步骤为我解决了问题:

      1. 首先,删除 C:\Users\your_user\AppData\Roaming\npm 里面的所有内容。此步骤是必需的,因为此内容不会在卸载过程中自动删除。
      2. 然后,卸载 Node(您可以从控制面板执行此操作)
      3. 打开 https://nodejs.org/en/download/ 并选择 LTS 最新版本(根据 ypolonsky 的建议)
      4. 安装节点
      5. 安装 Angular cli:npm install -g @angular/cli
      6. 再次测试创建一个新的 Angular 项目,它应该可以工作(这个过程需要一些时间,所以请耐心等待):ng new my-app

      在我的情况下,问题可能是我很长时间没有更新 Node,而且我也一直在对我的全局包进行大量更新(使用 ncu 命令),因此需要全新安装。

      这篇文章帮助我了解如何删除我的节点全局模块:Command to remove all npm modules globally?

      【讨论】:

        猜你喜欢
        • 2021-07-29
        • 2015-11-07
        • 1970-01-01
        • 1970-01-01
        • 2018-10-31
        • 2017-08-14
        • 1970-01-01
        相关资源
        最近更新 更多