"RxJS could not find any global context"

"RxJS could not find any global context"

我的 Angular 4 通过 Angular CLI 构建的应用程序停止工作,显然是出乎意料的:

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)

将 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 which addresses this problem so, you can now use a caret dependency,再次,例如:

"rxjs": "^5.1",

解释:

RxJS 项目于 5 月 2 日发布了 5.3.2,存在向后兼容性问题。这导致任何在 RxJS 5 上带有 caret dependency 的项目都失败了。有问题的 5.3.2 RxJS 版本已于 5 月 9 日删除,并替换为固定的 5.3.3 版本,因此插入符号依赖项现在可以再次使用。

问题是 rxjs 的错误提交。版本 5.3.2 已被删除。只需再次将 rxjs 更新到最新版本,您就可以再次开始了。检查 changelog