冲突的UNMET依赖地狱角度@ 2 / rxjs zone.js

时间:2016-09-27 12:18:06

标签: angular dependencies npm-install

我相信我已经成功解决了这类问题,或多或少地遵循了这个热门问题中概述的方法:

如果您跳到底部,则报告的错误表示

  • rxjs @的 5.0.0-beta.12
  • zone.js @ ^的 0.6.21

在此阶段(如下面的bash会话所示),这两个模块都先安装

 node $ sudo npm -g --save install zone.js@^0.6.21
/usr/lib
└── zone.js@0.6.25 

node $ sudo npm -g --save install  rxjs@5.0.0-beta.12
/usr/lib
└── rxjs@5.0.0-beta.12 

......然而; angular@core 报告:

  node $ sudo npm -g --save install  @angular/core
  /usr/lib
  ├── @angular/core@2.0.1 
  ├── UNMET PEER DEPENDENCY rxjs@5.0.0-beta.12
  └── UNMET PEER DEPENDENCY zone.js@^0.6.21

  npm WARN @angular/core@2.0.1 requires a peer of rxjs@5.0.0-beta.12 but none was installed.
  npm WARN @angular/core@2.0.1 requires a peer of zone.js@^0.6.21 but none was installed.

在两个模块上安装报告:unmet peer dependency。即便在我

之后
  • npm remove -g 这三个软件包中的每一个

这对我来说似乎是循环的。我很确定已安装的软件包上的版本编号和Unmet错误是相同的版本。

这种同义依赖地狱似乎在我的搜索中很常见:

  • [angular2] unmet peer dependency

迅速取得了23项成果,主要是针对beta-s或不同的包装组合。我不得不为过去关于Maven JAR-hell的严厉言辞道歉。

有解决方案吗?我(也许?)误读了消息的含义?

作为后续查询,是否有工具或网页可以进行" 干运行"验证这些安装问题??

...我提前致谢

codicil (第二次更新,2016-09-28)......

  • 感谢@David L给我的想法

我刚刚运行了以下npm指令,并带有 意外 结果(如图所示):

node $ sudo npm -g --save install   rxjs@5.0.0-beta.12  zone.js@^0.6.21  @angular/core  -registry http://registry.npmjs.org/
/usr/lib
├── @angular/core@2.0.1 
├── rxjs@5.0.0-beta.12 
└── zone.js@0.6.25 

因此,一体化npm install似乎是我(现在)认为错误的有效解决方法。

鉴于此结果,我猜人们的package.json文件安全。显然在相同的交易/操作中处理是重要的(尽管没有记录;基于我在尝试 eek 这个时看到的NOENT和UNMET问题的数量)。

我现在正在考虑如何将这部分方程式外包出来......

够了;这个配方适用于这种情况。我在第一个实例中应用的步骤在过去曾多次使用过。

  1. 清理/重置
  2. 从独立工作到
  3. 最依赖
  4. 鉴于此结果,这就是我们过去在' 80-s或纠缠中称为共同依赖的内容。

    我正在进行的工作正在进行中,我发现所有这些模块必须位于同一个npm install内才能正常工作。

      node $ sudo npm -g --save install tsickle rxjs \ 
      @angular/core @angular/platform-browser zone.js  \
      @angular/compiler   @angular/common   \
      @angular/compiler-cli \
      @angular/http   @angular/forms  typescript \
      @angular/platform-server   -registry http://registry.npmjs.org/
    
      /usr/bin/tsickle -> /usr/lib/node_modules/tsickle/build/src/main.js
      /usr/bin/ngc -> /usr/lib/node_modules/@angular/compiler-cli/src/main.js
      /usr/bin/ng-xi18n -> /usr/lib/node_modules/@angular/compiler-cli/src/extract_i18n.js
      /usr/bin/tsc -> /usr/lib/node_modules/typescript/bin/tsc
      /usr/bin/tsserver -> /usr/lib/node_modules/typescript/bin/tsserver
      /usr/lib
    
      ├── @angular/common@2.0.1 
      ├── @angular/compiler@2.0.1 
      ├─┬ @angular/compiler-cli@0.6.3 
      │ └─┬ @angular/tsc-wrapped@0.3.0
      │   └── tsickle@0.1.7 
      ├── @angular/core@2.0.1 
      ├── @angular/forms@2.0.1 
      ├── @angular/http@2.0.1 
      ├── @angular/platform-browser@2.0.1 
      ├─┬ @angular/platform-server@2.0.1 
      │ └── parse5@1.3.2 
      ├── rxjs@5.0.0-beta.12 
      ├── typescript@2.0.3 
      └── zone.js@0.6.25 
    

    我的惊喜是(现在 typescript @angular/compiler-cli所需的依赖项。我之前很高兴使用Javascript没有打字稿。希望当理智恢复时,这是一个故障

    也许这个额外的更新不会给 codicil 增加任何内容,因为好像npm install问题似乎是懒惰:

    • npm对于已安装
    • 的常驻位不太好看

    据我所知,根据本周的结果。仍然只是星期三: - )

0 个答案:

没有答案