" RxJS找不到任何全球背景"

时间:2017-05-09 21:12:29

标签: angular angular-cli rxjs5

我通过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)

2 个答案:

答案 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