Помилка TS1005: ';' очікуваний. TypeScript Angular 6 для помилки першої збірки rxjs всередині node_modules


75

Я будую свій перший Кутовий додаток. Я створюю нову програму 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

це може допомогти stackoverflow.com/a/59941420/4378475
Inzamam Malik

Відповіді:


76

У мене була та сама проблема. Я досліджував , що rxjs випустила нову версію: 6.4.0. І це зірвало збірку. Згідно з оглядом , мінімальною підтримуваною версією TypeScript є 2.8. Якщо ви не хочете , щоб оновити машинопис версію, просто змініть "rxjs": "^6.0.0", to "rxjs": "6.3.3"в package.json.


у мене така ж проблема з моїм "машинописом": "~ 3.2.2" та "rxjs": "6.3.3", будь ласка, підкажіть комусь, як вирішити цю помилку?
калай

4
просто змініть "rxjs": "^ 6.0.0" на "rxjs": "6.3.3" в package.json і запустіть команду npm install знову, щоб вона оновила її у вашому проекті. Тепер це спрацює
Насрін Устад,

1
Крім того, якщо ваш package.json має залежність від rxjs-compat, зробіть це також 6.3.3, щоб ви не отримували жодних помилок
rohan dani

@kalai привіт, у мене була та ж проблема, я змінив версію rxjs на 6.3.3, видалив вузлові модулі та встановив знову, і зараз це працює, я використовую версію
TypeScript

@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

для деталей прочитайте відповідь @langrenn нижче, я думаю, що це причина.
Prageeth godage

34

Просто видаліть ^символ з "rxjs": "^6.0.0"з package.jsonфайлу і зробити його "rxjs": "6.0.0". Це повинно працювати нормально.


1
Потім мені довелося видалити свій node_modulesі запустити npm iзнову, але це спрацювало. (Альтернатива: npm update)
Джеремі Thille

14

Сьогодні я зіткнувся з тим же питанням. Жодна з наведених відповідей не спрацювала, окрім коментаря одного @Nasreen Ustad. Отже, що вам потрібно зробити, це:

  1. Перейдіть до package.json і змініть "rxjs": "^6.0.0"на"rxjs": "6.0.0"
  2. Запустіть npm updateсвій проект

Немає необхідності змінювати машинопис версії (Mine :. "typescript": "~2.7.2")


@shubham насправді я перейшов до кутового 10. Не вдалося імітувати це.
Swanand Pangam





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, який інстальовано у вашому проекті, не сумісний з версією Typecript, встановленою в тому самому проекті.

Отже, як рішення у файлі 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 2. запустити ng serve

Він повинен успішно скомпілювати


2

Перевірте версію машинопису за допомогою команди нижче.

~ tsc --version Version 3.3.3

Оскільки це остання версія машинопису, я оновив кутову версію проекту до 7, виконавши команду нижче в домашній папці проекту. Це вирішило проблему.

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


1

Здається, ваша версія Angular та / або rxjs несумісна з TypeScript.

Видаліть ~знак у версії TypeScript, додайте ^натомість. Потім встановіть пакунки ще раз.

Спробуйте запустити npm startі ng buildдо ng serve.


Після цього перезапустіть Visual Studio. Яка ваша версія TS зараз?
Code_maniac

це мені допомогло. Дякую! (нова версія 2.9.2 працювала досконало)
bakytn

1

Я змінив версію для rxjs і typecript. У My package.jsonє такі записи:

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

Мені також довелося оновити кутовий кліп.


0

Я спробував усі інші відповіді. Але я знайшов проблему. У мене був встановлений плагін ts lint, який примусив файл закінчуватись без місця. Я видалив його, і він працює.

Ви також можете видалити простір, що переходить до цього конкретного файлу.


0

Ці два зміни змінюють те, що ви хочете:

// in package.json:

"rxjs": "^6.2.2"==> "rxjs": "latest"
"typescript": "2.7.2"==>"typescript": "2.8"

де ==>означає замінити


0

Ви можете оновити свою npmверсію до останньої, якщо вона ні, за допомогою:

npm update -g

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

Мені довелося видалити та перевстановити angular CLI.

npm uninstall -g @angular/cli angular-cli
npm cache clean
npm install -g @angular/cli@latest
npm install -g @angular/cli@latest
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.