我相信我已经成功解决了这类问题,或多或少地遵循了这个热门问题中概述的方法:
如果您跳到底部,则报告的错误表示
在此阶段(如下面的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)......
我刚刚运行了以下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问题的数量)。
我现在正在考虑如何将这部分方程式外包出来......
够了;这个配方适用于这种情况。我在第一个实例中应用的步骤在过去曾多次使用过。
鉴于此结果,这就是我们过去在' 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
对于已安装 据我所知,根据本周的结果。仍然只是星期三: - )