我通过Angular CLI构建的Angular 4应用程序停止工作,显然是出乎意料:
ng --version`
导致以下错误:
RxJS could not find any global context (window, self, global)
Error: RxJS could not find any global context (window, self, global)
at /home/jan/.nvm/versions/node/v7.10.0/lib/node_modules/@angular/cli/node_modules/rxjs/util/root.js:15:11
at Object.<anonymous> (/home/jan/.nvm/versions/node/v7.10.0/lib/node_modules/@angular/cli/node_modules/rxjs/util/root.js:16:3)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/home/jan/.nvm/versions/node/v7.10.0/lib/node_modules/@angular/cli/node_modules/rxjs/Observable.js:2:14)
答案 0 :(得分:3)
将RxJS降级至5.1.1;在package.json
中删除插入符号^
):
"rxjs": "5.1.1",
然后
npm install
2017年5月10日更新:
昨晚,RxJS project removed the offending 5.3.2 release and released 5.3.3解决了这个问题,您现在可以再次使用caret dependency,例如:
"rxjs": "^5.1",
<强>解释强>:
RxJS项目于5月2日发布了5.3.2,该项目存在向后兼容性问题。这导致任何在RxJS 5上caret dependency的项目失败。违反5.3.2 RxJS版本于5月9日被删除,取而代之的是固定的5.3.3版本,因此插入符号依赖性现在再次发挥作用。
答案 1 :(得分:1)
问题是rxjs
提交失败。版本5.3.2
已被删除。只需将rxjs
再次更新为最新版本,您就可以再次使用了。查看changelog