node_modules / rxjs / internal / types.d.ts (81,44): ошибка TS1005: ';' ожидаемая ошибка после установки Angular 6


151

Я получил ошибку

node_modules / rxjs / internal / types.d.ts (81,44): ошибка TS1005: ';' ожидается.

после установки Angular 6.

Проверьте ошибку:

ERROR in node_modules/rxjs/internal/types.d.ts(81,44): error TS1005: ';' expected.
node_modules/rxjs/internal/types.d.ts(81,74): error TS1005: ';' expected.
node_modules/rxjs/internal/types.d.ts(81,77): error TS1109: Expression expected.

1
Привет, @TheParam, после установки я получаю сообщение об ошибке. Я еще не написал в нем никакого кода.
SSP

1
В Angular 6 требуется версия rxjs 6.0.0, поэтому проверьте ответ ниже. это поможет
TheParam

stackoverflow.com/a/54529119/9741113 это решило мою проблему, но теперь я не могу ничего импортировать из
Никола

stackoverflow.com/questions/52530289 решил мою проблему с помощью патча после установки, который проходит в криптографии и потоке
Энди Магун 01

Ответы:


383

Эта проблема может возникнуть из-за несоответствия версии. Чтобы решить вашу проблему, вам необходимо внести следующие изменения в файл package.json .

Шаг 1. Перейдите package.jsonи измените "rxjs": "^6.0.0"на"rxjs": "6.0.0"

Шаг 2 Запустите npm installсвой проект.

Версию машинописного текста менять не нужно. (Шахта: "typescript": "~2.7.2")

Изменить: если вы используете, rxjs-compatвам также необходимо сделать следующее, чтобы исправить проблему. изменить rxjs-compatверсию с "rxjs-compat": "^6.2.2"на"rxjs-compat": "6.2.2"

Надеюсь, это поможет!


2
@SSP Вы должны прочитать, как npm указывает версии пакетов. docs.npmjs.com/files/package.json#dependencies
NechiK 05

7
Оператор ^ используется для получения последней версии библиотеки, если она доступна
TheParam

1
Должны ли мы добавить проблему для angular 6?
Майкл Чеховски

2
Фактически кто-то уже сделал это, вот ссылка github.com/ReactiveX/rxjs/issues/4511
TheParam

1
Сработало у меня! .Спасибо.
Nithya

11

У меня была такая же ошибка с использованием angular 6 с rxjs@6.4.0, но я понизил ее до rxjs@6.3.3, это сработало.


Спасибо, у меня это сработало. Я удалил rxjs и rxjs-compat из node_modules и понизил версию, а затем установил npm. Просто чтобы убедиться, что я использую правильную версию.
Swapnil

8

Вам нужно внести некоторые изменения в package.json

Перейти к package.jsonи изменения "rxjs": "^6.0.0"в"rxjs": "6.0.0"

Затем запустите npm updateсвой проект


Сначала я обновил узел, используя .msi (я использую Windows 10) до последней версии. Затем я изменил package.json, как здесь изменено, и использовал обновление npm. Мне пришлось перезагрузить компьютер, и после нескольких попыток все заработало. Попытка очистить кеш npm не сработала, и мой компьютер завис.
umbregachoong


5

Если вы используете rxjs-compat, вам также необходимо сделать следующее, чтобы исправить проблему. измените версию rxjs-compat с

"rxjs-compat": "^6.2.2" 

к

"rxjs-compat": "6.2.2"

Это работает для меня


3

Раньше я исправлял проблему с помощью ответа @ TheParam, но в последнее время начал использовать пряжу. К сожалению, я не смог найти эквивалент пряжи

nmp update

Я пробовал использовать

yarn upgrade

(хотя это не эквивалент приведенной выше команды afaik), и это не помогло.

Вместо этого я использовал

yarn add rxjs@6.0.0

и это сработало. Это заняло значительное время 82 секунды по сравнению с несколькими секундами в случае npm, но проблема устранилась. мой узел 8.11.2 и пряжа 1.15.2


Спасибо. У меня это занимает 683 с.
Виньеш Кришнамурти

2

Мне просто нужно было отредактировать файл и добавить точку с запятой в последней строке после 0, как показано здесь:

Перейдите по пути [project directory]/node_modules/rxjs/internalи откройте файл types.d.tsот имени администратора, перейдите к финальной части файла и добавьте точку с запятой.

Исходный код: export declare type ObservedValueOf<O> = O extends ObservableInput<infer T> ? T : never;

Измененный код: export declare type ObservedValueOf<O> = O; extends ObservableInput<infer T> ? T : never;


2
Хм, не похоже на постоянное решение. В следующий раз, когда вы переустановите проект, ошибки, вероятно, вернутся!
Zaphoid

0

если проблема не исчезла, перейдите в package.json

  1. удалите rxjs и добавьте также rxjs-compat, «rxjs-compat»: «^ 6.4.0» в «rxjs-compat»: «6.4.0»,

  2. измените версию typscript на 2.8

  3. запустить npm install

Это сработает для вас!


0

У меня была такая же проблема: от «rxjs»: «^ 6.0.0» до «rxjs»: «6.0.0» не работали. Мне пришлось обновить мой угловой интерфейс командной строки, чтобы он оставался стабильным, npm install -g @angular/cliи снова регенерировать проект.

Моя конфигурация сейчас:

Angular CLI: 7.3.6
Node: 10.15.3
OS: win32 x64
Angular: 7.2.9

Перейдите в package.json и измените «rxjs»: «^ 6.2.1» на «rxjs»: «6.2.1»
Рагхулрадж Паланисами


0

Эта проблема вызвана тем, что версия установленного машинописного текста несовместима с установленной версией установленного rxjs. Установка машинописного текста, как указано ниже, помогла мне установить совместимую версию машинописного текста с версией уже установленных пакетов angular. Вы можете решить проблему следующим образом. команда

npm install typescript 

Это сработало для меня



0

У меня такая же ошибка. Причина может быть в несоответствии версии

npm install rxjs@6.0.0 --save исправить ошибку


0

Перейдите в package.json и измените «rxjs»: «^ 6.0.0» на «rxjs»: «6.0.0»

Тогда беги

npm update

Затем запустите сервер

ng serve

Проблема решена на 100%


0

Просто сделайте одно изменение в файле package.json

"rxjs": "^6.0.0",

Просто удалите ^, как я сделал в приведенном ниже коде, и обновите npm (диспетчер пакетов узлов)

"rxjs": "6.0.0",

npm update

ng serve --open

Теперь файл, ваш проект запустится нормально


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.