'tsc command not found' при компиляции машинописного текста

90

Я хочу установить машинописный текст, поэтому использовал следующую команду:

npm install -g typescript 

и проверьте tsc --version, но он просто показывает «команда tsc не найдена». Я пробовал много способов, предложенных в stackoverflow, github и других сайтах. но это не работает. Откуда мне знать, что машинописный текст установлен и где он находится.

моя ОС - Unix, OS X El Capitan 10.11.6, версия узла - 4.4.3, версия npm - 3.10.5

Aung Thet
источник
1
Укажите в вопросе свою ОС и ее версию, а также версии Node.js и NPM.
Картант 09
5
Скорее всего, у вас проблема с настройкой node / npm; например, соответствующий каталог npm отсутствует на вашем пути. Место установки машинописного текста зависит от вашей среды, но вы можете начать с npm list -g. Или попробуйте npm config get prefix(ваши пакеты обычно находятся в binкаталоге под этим). Также см. Этот вопрос .
Спасибо, я понял. Я забыл экспортировать путь префикса.
Aung Thet
Вы также можете проверить мой ответ
Замир Ансари

Ответы:

124

Несколько советов по порядку

  • перезапустить терминал
  • перезагрузите машину
  • переустановите nodejs + затем запустите npm install typescript -g

Если это по-прежнему не работает, запустите, npm config get prefixчтобы увидеть, куда npm install -g помещает файлы (добавить binк выходу), и убедитесь, что они находятся в пути (это делает установка node js. Возможно, вы забыли отметить эту опцию).

басарат
источник
4
Спасибо, поняла. Конечно, я забыл указать путь `export PATH = / prefix'sPath / bin: $ PATH 'и ( docs.npmjs.com/getting-started/fixing-npm-permissions ), также этот сайт предлагает это. Я потратил на это целый день :).
Aung Thet
stackoverflow.com/a/46783952/495157 - этот ответ более информативен, особенно если вы занимаетесь разработкой Angular / Ionic.
JGFMK
1
Мне пришлось удалить node / npm. Используется отвар для установки NVM , а затем устанавливается узел , используя nvm install nodeто , sudo npm install -g typescriptчтобы tsc --versionработать
AleX
1
Я сделал только «npm install typescript -g», и он отлично сработал
pixparker
Мне помогло обновление node-версии.
JavaDeveloper
30

Пришлось сделать вот что:

npx tsc app.ts
Оскар Йованни
источник
2
Это мне помогло, но чтобы уточнить, пришлось сделать npm install --save-dev typescript && npx tsc --version && npx tsc <filename>. Он установил tsc, успешно протестировал его --versionи успешно скомпилировал мой tsфайл в jsфайл.
Джейсон Фрай
Это сработало, но я просто использовал npx tsc. Добавление tsc, вероятно, решает необходимость использования npx.
foureyedraven
9

вы все возитесь с глобальными установками и файлами -path. Небольшая ошибка может повредить каждый когда-либо написанный вами проект, и вы потратите остаток ночи, пытаясь заставить console.log ('привет') снова работать: - =.

Если вы запустили в своем проекте npm i typescript --save-dev - просто попробуйте запустить:

npx tsc

и посмотрите, работает ли он, прежде чем возиться с глобальными вещами (если вы действительно не знаете, что делаете)

ура

Пер Хойер
источник
8

Если ваша команда TSC не найдена в MacOS после правильной установки TypeScript (с помощью следующей команды:, $ sudo npm install -g typescriptубедитесь, что /binпуть к узлу добавлен в PATHпеременную в.bash_profile .

Открыть .bash_profileс помощью терминала: $ open ~ / .bash_profile;

Отредактируйте / подтвердите профиль bash, включив в него следующую строку ( с помощью вашего любимого текстового редактора ):

export PATH="$PATH:"/usr/local/lib/node_modules/node/bin"";

Загрузите последний профиль bash с помощью терминала source ~/.bash_profile:;

Наконец, попробуйте команду: $ tsc --version.

Панди
источник
5

Я нашел простое исправление для Mac. Просто запустите эти команды:

sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript

У меня кроме этого ничего не работало.

Teja
источник
4

После нахождения всех решений этой небольшой проблемы только для macOS.
Наконец, я получил свои TSC-работы на моем MacBook Pro.

Возможно, это лучшее решение, которое я нашел.

Для всех пользователей macOS вместо установки машинописного текста с помощью npm вы можете установить машинописный текст с помощью homebrew.

-> brew install typescript

См. Прилагаемый снимок экрана для справки.

Спасибо.

введите описание изображения здесь

Марджун
источник
3

Я знаю, что это старый вопрос, но у меня была такая же проблема на Ubuntu 19.10 LTS.

Чтобы решить эту проблему, я выполнил следующую команду:

$ sudo apt install node-typescript

После этого я смог использовать tsc.

Я надеюсь, что это помогает :)

Родриго Маркес
источник
3

Этот ответ специфичен для iTermV2 на MAC

  1. Прежде всего, мне нужно было установить как sudo(admin) во время установки NPM

    sudo npm install -g typescript

  2. NPM устанавливает библиотеки в /usr/local/Cellar/node/<your latest version>/lib/node_modules/typescriptпапку и символические ссылки в/usr/local/Cellar/node/<your latest version>/bin/tsc

поэтому я пошел ~ / .zshrc (.bashrc, если вы используете bash) и добавил /usr/local/Cellar/node/<your latest version>/binв $ PATH.

  1. перезагрузите профиль оболочки через source ~/.zshrc(.bashrc в вашем случае)
sjs
источник
Хм, хорошо знать. Но кто теперь заботится об этих ссылках?
Крис Пиллен
2

Единственное решение, которое сработало для меня, было положить npx tsc -v или для компиляции npx tsc salida.ts

"salida.ts" - это имя файла

juan.pedro.v
источник
0

Неадминистративное решение

У меня нет прав администратора, так как эта машина была выдана моей работой.

  • получить путь к месту установки модулей узла и скопировать в буфер обмена
    • npm config get prefix | clip
    • нет зажима? просто скопируйте вывод изnpm config get prefix
  • добавить скопированный путь к переменным среды
    • мой предпочтительный метод (Windows)
    • (Ctrl + R), вставить rundll32 sysdm.cpl,EditEnvironmentVariables
    • в разделе «Пользовательские переменные» дважды щелкните « Путь» > « Создать» > «Вставить скопированный путь».
Codeherk
источник
0

Ни один из приведенных выше ответов не решает мою проблему. Дело в том, что в моем проекте не было установленного скрипта типа. Но локально я сбежалnpm install -g typescript . Поэтому я не заметил, что в моем пакете json не было зависимости узла машинописного текста.

Когда я подтолкнул его к стороне сервера и запустил npm install, npx tscя получаю tsc not found. На самом деле на удаленном сервере не установлен машинописный текст. Это было скрыто из-за моей локальной глобальной установки машинописного текста.

Ромен ТАЙЛАНДЬЕР
источник
0
  1. Проверьте свою npmверсию

  2. Если он установлен неправильно, сначала установите его

  3. запустите эту команду npm install typescript -g

  4. в настоящее время tsc <file_name>.ts

  5. Будет создан соответствующий .jsфайл. например<file_name>.js

  6. теперь попробуй node <file_name>.js

Акаш Датта
источник
-1

Для окон:

Добавьте путь с помощью команды, как показано ниже в командной строке:
path =% path%; C: \ Users \\ npm

Как и в моем случае, указанный выше путь не был зарегистрирован для команды.

% userprofile% в окнах запуска даст вам путь к C: \ users \

Дургеш
источник
-1

Это отлично работает на Mac. Протестировано на macOS High Sierra

sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript
tsc --init

Будет создан файл tsconfig.json.

Алексис
источник
concurrentlyи не lite-serverимеют почти ничего общего с возможностью запуска tscкоманды. Пожалуйста, не советуйте устанавливать ненужные зависимости.
andras
-1

Я решил эту проблему на своей машине, просто запустив sudo npm installкаталог, в котором я получал ошибку.

mbspark
источник
Вы не должны быть вынуждены запускать sudoустановку пакетов. Затем вам следует переустановить npm. См. Больше Do not sudo npm
GLindqvist