Ответ 1
Я только понял, что использую старую версию npm. Я обновил npm до последней версии, а затем снова установил typescript, и теперь у меня установлена последняя версия typescript, установленная на моем компьютере.
У меня есть MacBook Pro с OS X 10.8.2 Некоторое время назад я установил Typescript, и сегодня я хочу обновить эту установку до последней доступной версии (до сих пор, v0.8.3). Я написал эту команду с терминала:
sudo npm install -g typescript
Но это то, что я получил на дисплее:
npm http GET https://registry.npmjs.org/typescript
npm http 304 https://registry.npmjs.org/typescript
/usr/local/bin/tsc -> /usr/local/lib/node_modules/typescript/bin/tsc
[email protected] /usr/local/lib/node_modules/typescript
Означает ли это, что у меня все еще установлена версия 0.8.0 на моем компьютере?
Я попытался проверить, имеет ли команда tsc параметр -v
или -version
, но я его не нашел, поэтому я все еще не уверен, обновил ли я Typescript до последней версии или если я все еще придерживаюсь более старая версия.
Я только понял, что использую старую версию npm. Я обновил npm до последней версии, а затем снова установил typescript, и теперь у меня установлена последняя версия typescript, установленная на моем компьютере.
Поскольку выбранный правильный ответ мне не помог, я решил поделиться с ним тем, как я решил проблему.
Мне пришлось удалить C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
из моего PATH.
После этого я могу запустить эту команду и посмотреть версию, которую я ожидал:
C:\>tsc --version
message TS6029: Version 1.5.3
У меня была такая же проблема ниже, чем работала для меня
Обновить NPM
npm install [email protected] -g
Обновить typescript
npm -g upgrade typescript
или
npm install [email protected] -g
теперь вы должны увидеть
tsc --version
Версия 2.1.5
Для тех, кто все еще борется с этим - попробуйте запустить WHERE tsc
в командной строке или Node.js Command Prompt, и вы получите все установленные места. Удалите избыточное местоположение из PATH env var.
Даже когда я установил последний typescript, все еще я получал версию как 1.0.3 при выполнении tsc -v
Исправленный ответ мне не помог, но после подхода @BenR удалил этот файл PATH C:\Program Files (x86)\Microsoft SDK\ TypeScript\1.0\из системных переменных
а затем откройте новое окно командной строки и введите
tsc -v
Version 2.3.3
Итак, теперь я смог скомпилировать файлы typescript с помощью tsc file.ts
Надеюсь, это поможет кому-то.
На Windows сделать (откройте cmd.exe)
npm install -g [email protected]
Команда сделает следующее:
Проверьте, установлен ли Typescript и..
Сообщалось, что следующая команда не будет работать надежно, если у вас уже установлена машинопись:
npm update -g [email protected]
Протестируйте версию, используя
tsc -v // prints out the locally installed typescript version
Кроме того, вы можете проверить, какая версия доступна для машинописи в реестре npm:
npm view typescript version // prints the latest available version in the npm registry
У меня была такая же проблема в Linux, возможно, связанная с использованием диспетчера версий node.
Я исправил это, найдя, где tsc был, а затем вручную входил и удалял эти папки
$ which tsc
/home/vagrant/.nvm/versions/node/v6.9.5/bin/tsc
$ cd /home/vagrant/.nvm/versions/node/v6.9.5/bin/
$ ll
...
lrwxrwxrwx 1 vagrant vagrant 38 Nov 30 10:32 tsc -> ../lib/node_modules/typescript/bin/tsc*
lrwxrwxrwx 1 vagrant vagrant 43 Nov 30 10:32 tsserver -> ../lib/node_modules/typescript/bin/tsserver*
...
$ rm -rf ../lib/node_modules/typescript/ tsc tsserver
Я знаю, что это старый Вопрос, но я столкнулся с подобной проблемой, и ни один из ответов здесь не решил ее, отправив свой ответ кому-либо еще в той же лодке.
Я только что столкнулся с этой проблемой на компьютере с Windows 8 с заблокированным доступом администратора, где я не смог удалить глобальный набор текста, изменить PATH
и т.д.
Вот как запустить машинописные проекты в этом случае:
npm install [email protected]
-g
для проекта npm install [email protected]
(исключить параметр -g
) добавить сценарии сборки в package.json
например
scripts: { "clean": "rimraf coverage build tmp", "build": "tsc -p tsconfig.release.json", "build:watch": "tsc -w -p tsconfig.release.json", "lint": "tslint -t stylish --project \"tsconfig.json\"", "test": "jest --coverage", "test:watch": "jest --watch" }
запустите компилятор машинописи с локальной версией машинописи через npm run build:watch
который запустит tsc -w -p tsconfig.release.json
используя локальный проект tsc
из node_modules
Я столкнулся с той же проблемой, и ни один из популярных ответов не решил проблему для меня. Я нахожусь на Windows 10 с Visual Studio 2017.
Я попытался использовать where tsc
из консоли, чтобы определить, где tsc
путь к tsc
. Первая запись была похожа на: C:\Program Files (x86)\Microsoft SDKs\TypeScript\x.xx
Поэтому я проверил переменную PATH
(как System, так и User), и этот путь нигде не был найден.
Я наконец наткнулся на этот комментарий на GitHub: https://github.com/Microsoft/TypeScript/issues/4971#issuecomment-144184935
Который указал мне в правильном направлении. Я использую Console2
и моя вкладка консоли по умолчанию порождает консоль с расширенными возможностями Visual Studio через этот файл .bat
: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat
Этот файл .bat
не содержит ничего специфичного для TypeScript, но он запускает все файлы .bat
найденные в C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\vsdevcmd\ext
. И один из этих файлов явно называется typescript.bat
. Я просто переименовал этот файл в другое расширение, затем снова открыл консоль, и теперь все отлично.
Не уверен, что это что-то постигнет в Visual Studio, но я не использую его для TypeScript. И я подозреваю, что в будущем обновлении Visual Studio этот файл вернется на место. Но это работает на данный момент.