Ошибка TypeScript TS1005: ';' ожидается (II)

Прежде всего, я уже видел другие сообщения об ошибке TS1005. Тот же код ошибки, но совершенно другой.

Простой let x: number; сгенерирует error TS1005 во время компиляции. Это не о пропущенной точке с запятой, как в сообщении об ошибке, но компилятор не распознает ключевое слово let. Я читал, что, возможно, из-за устаревшего компилятора.

Здесь моя машинописная версия установлена с использованием npm install -g typescript

  • Версия TypeScript: 2.5.2
  • Версия компилятора (tsc): 1.0.3.0

Может кто-нибудь может помочь?

Ответ 1

Ваша установка неверна; Вы используете очень старую версию компилятора (1.0.3.0).

tsc --version должен вернуть версию 2.5.2.

Проверьте, где находится этот старый компилятор, используя: which tsc (или where tsc) и удалите его.

Попробуйте удалить "глобальный" машинопись

npm uninstall -g typescript

Установка как часть локальной зависимости dev вашего проекта

npm install typescript --save-dev

Выполнить его из корня вашего проекта

./node_modules/.bin/tsc

Ответ 3

У вас не последняя версия машинописи.

Запуск:

npm install -g typescript

npm проверяет, установлена ли уже команда tsc.

И это может быть другим программным обеспечением, таким как Visual Studio. Если это так, npm не отменяет его. Поэтому вы должны удалить предыдущую устаревшую установленную команду tsc.

Запустите where tsc, чтобы узнать его местоположение. Это должно быть в C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\ в Windows. Найдя, удалите папку и снова запустите npm install -g typescript. Это должно теперь установить последнюю версию машинописи.

Ответ 4

Проблема была в моем коде.

В большой кодовой базе проблема была неясной.

Упрощенный код ниже:

Плохой:

 collection.insertMany(
    [[],
    function (err, result) {
    });

Хорошо:

collection.insertMany(
    [],
    function (err, result) {
    });

То есть первый имеет [[] вместо обычного массива []

Ошибка TS была недостаточно четкой, и в последней строке она показывала ошибку});

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

Ответ 5

У меня было сегодня подобное сообщение об ошибке. Что было особенным, так это то, что это не нарушало приложение. Он работал без сбоев, но командная строка (машина Windows) указала, что произошла ошибка. Я не обновил версию Typescript, но нашел другого преступника. Оказалось, что было небольшое упущение символа - закрытие ")", которое, как я считаю, компенсирует Typescript. Просто для справки код следующий:

[new Object('First Characteristic','Second Characteristic',
'Third Characteristic'*] 

* notice here the ending ")" is missing.

Однажды вернул больше никаких проблем в командной строке!

Ответ 6

  • Удалить каталог C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0.

  • Теперь запустите:

    npm install -g typescript 
    

    это установит последнюю версию, а затем повторите попытку.

Ответ 7

Просто попробуйте ничего не менять npm install [email protected] XXX - ваша текущая версия

Ответ 8

иногда package.json по-прежнему содержит старую версию машинописного текста. Я сделал обновление npm.