错误TS1005:“;” 预期。Node_modules中的TypeScript Angular 6 For First Build错误rxjs


75

我正在构建我的第一个Angular应用程序。我正在使用此命令创建一个新的Angular应用程序ng new purchase-section。但是,当我使用执行应用程序时ng serve -o,出现以下错误。

node_modules / rxjs / internal / types.d.ts(81,44)中的错误:错误TS1005:';' 预期。node_modules / rxjs / internal / types.d.ts(81,74):错误TS1005:';' 预期。node_modules / rxjs / internal / types.d.ts(81,77):错误TS1109:需要表达式。

我已经检查了types.d.ts它是由Angular创建的,因此我进行了检查。我无法理解该错误。请注意,在收到此错误后,我删除了该文件,node_modules并使用npm install希望安装的方法安装了此错误。

这是我的package.JSON文件:

{
 "name": "purchase-section",
 "version": "0.0.0",
  "scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
 },
 "private": true,
   "dependencies": {
    "@angular/animations": "^6.0.3",
     "@angular/common": "^6.0.3",
     "@angular/compiler": "^6.0.3",
     "@angular/core": "^6.0.3",
     "@angular/forms": "^6.0.3",
      "@angular/http": "^6.0.3",
      "@angular/platform-browser": "^6.0.3",
      "@angular/platform-browser-dynamic": "^6.0.3",
      "@angular/router": "^6.0.3",
       "core-js": "^2.5.4",
       "rxjs": "^6.0.0",
        "zone.js": "^0.8.26"
       },
      "devDependencies": {
        "@angular-devkit/build-angular": "~0.6.8",
         "@angular/cli": "~6.0.8",
         "@angular/compiler-cli": "^6.0.3",
          "@angular/language-service": "^6.0.3",
           "@types/jasmine": "~2.8.6",
           "@types/jasminewd2": "~2.0.3",
            "@types/node": "~8.9.4",
             "codelyzer": "~4.2.1",
              "jasmine-core": "~2.99.1",
               "jasmine-spec-reporter": "~4.2.1",
                "karma": "^4.0.0",
                 "karma-chrome-launcher": "~2.2.0",
                  "karma-coverage-istanbul-reporter": "~2.0.0",
                   "karma-jasmine": "~1.1.1",
                 "karma-jasmine-html-reporter": "^0.2.2",
                 "protractor": "^5.4.2",
                  "ts-node": "~5.0.1",
                  "tslint": "~5.9.1",
                "typescript": "~2.7.2"
                 }
               }

2
RxJS GitHub页面上的相关问题:github.com/ReactiveX/rxjs/issues/4512
马丁

2
嘿,您有没有找到这个问题的答案,我遇到了同样的问题,以下答案都没有解决任何问题。顺便说一下,我正在使用ng4(Angular 4)。
yfdgvf asdasdas,

哪条线是81号线?
user3629249 '02

Answers:


76

我遇到过同样的问题。我调查了rxjs发布了一个新版本:6.4.0。它破坏了构建。根据审查,TypeScript的最低支持版本为2.8。如果您不想更新TypeScript版本,只需"rxjs": "^6.0.0", to "rxjs": "6.3.3"在中更改package.json


我在我的“打字稿”:“〜3.2.2”和“ rxjs”:“ 6.3.3”中也遇到了同样的问题,请告诉我任何人如何解决此错误?
kalai

4
只需在package.json中将“ rxjs”:“ ^ 6.0.0”更改为“ rxjs”:“ 6.3.3”,然后再次运行命令npm install,它将在您的项目中对其进行更新。现在它将开始工作
Nasreen Ustad'Jan

1
另外,如果您的package.json具有rxjs-compat的依赖项,那么也请使其也为6.3.3,这样您就不会收到任何错误
rohan dani

@kalai嗨,我遇到了同样的问题,我将rxjs版本更改为6.3.3,并删除了节点模块并再次安装,现在它正在运行,我正在使用打字稿版本2.7.2
codemt

@codemt我的项目在命令提示符下成功运行,但仅在Visual Studio 2017中出现错误
kalai

35

在开发angular6项目时,我面临着同样的问题。我花了更多时间终于为我工作了。

解决方法如下:

  1. 打开“ package.json”

  2. rxjs 和“ TypeScript”版本,如下面的屏幕截图

    在此处输入图片说明

  3. 更改如下图所示:

    在此处输入图片说明

  4. 接下来转到您的项目文件夹并删除“ node_modules”文件夹。

  5. 删除后,npm install在您的项目文件夹下运行

  6. 终于跑了ng serve。它应该可以工作(我尝试了3个项目并确认了)。


这似乎对我有用,但是您知道此错误的真正原因是什么吗?我的意思是直到现在,它都可以使用“ ^”符号正常工作。您是否有更多有关导致此错误的原因的详细信息?谢谢
Viocartman '19

有关详细信息,请阅读下面的@langrenn答案,我认为这是原因。
普雷盖斯(Prageeth)Godage '19

34

只需从文件中删除^字符并将其制成即可。它应该工作正常。"rxjs": "^6.0.0"package.json"rxjs": "6.0.0"


1
然后,我不得不删除自己的文件node_modules,然后npm i再次运行,但是它起作用了。(另类:npm update
杰里米·锡耶

14

今天,我面临着同样的问题。除了一个@Nasreen Ustad的评论外,以上答案均无效。因此,您要做的是:

  1. 转到package.json并修改 "rxjs": "^6.0.0""rxjs": "6.0.0"
  2. npm update在您的项目中运行

无需更改打字稿版本(矿。"typescript": "~2.7.2"


@shubham实际上我现在已移至角度10。无法模拟此情况。
Swanand Pangam

8

第1步:转到package.json并修改"rxjs": "^6.0.0""rxjs": "6.0.0"

步骤2npm update在您的项目中运行。





2

您的package.json具有以下几行:

"rxjs": "^6.0.0",

"typescript": "~2.7.2"

这告诉npm安装以下版本

rxjs:版本6系列的最新版本是6.4.0

打字稿:次要版本2.7中的最新修补版本为 2.7.2

现在,RxJS模块还为TypeScript安装类型定义文件。项目中已安装的rxjs模块中包含的类型定义文件与同一项目中安装的Typescript版本不兼容。

因此,作为package.json文件中的解决方案,您可以将Typescript的版本提高为2.8

typescript: ^2.8.0

或将ngrx的版本降低到类似

ngrx: ~6.0.0

重新安装npm。

您可以通过查看以下文件来检查已安装模块的版本号:

node_modules/rxjs/package.json and
node_modules/typescript/package.json 

2

在package.json rxjs中更新”:“ 6.3.3”

在终端1.运行npm update 2.运行ng serve

它应该可以成功编译


2

使用以下命令检查您的打字稿版本。

~ tsc --version Version 3.3.3

由于这是最新的打字稿版本,因此我通过在项目主文件夹中运行以下命令,将项目角度版本升级到7。它解决了问题。

〜]# ng update @angular/cli @angular/core


1

似乎您的Angular和/或rxjs版本与TypeScript不兼容。

删除~TypeScript版本中的标志,然后添加^。然后,再次安装软件包。

尝试运行npm startng build之前ng serve


之后,重新启动Visual Studio。您的TS版本是什么?
Code_maniac

这帮助了我。谢谢!(新版本2.9.2完美运行)
bakytn

1

我更改了rxjs和Typescript的版本。我package.json有以下条目:

"typescript": "^2.7.2"
"rxjs": "^6.3.3",

我还必须升级角度cli。


0

我已经尝试了所有其他答案。但是我发现了问题。我安装了ts lint插件,该插件强制文件没有空间结束。我删除了它,它正在工作。

您也可以删除该特定文件的空格。




0

在以下情况下遇到此错误:rxjs / store:^ 6.4.0打字稿:〜2.7.2 angular / cli〜6.0.0

除了rxjs rxjs / store外,所有内容均已更新至最新版本:^ 6.3.3打字稿:〜3.1.1 angular / cli〜7.0.3

基本上,我创建了一个空白新项目(ng new newProject)并安装了@ ngrx / store,它关闭了v6.3.3。这对我有用。


0

我必须卸载并重新安装角度CLI。

npm uninstall -g @angular/cli angular-cli
npm cache clean
npm install -g @angular/cli@latest
npm install -g @angular/cli@latest
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.