'команду tsc не знайдено' у компіляції машинопису


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


1
Включіть у своє запитання свою ОС та її версію, а також версії Node.js та NPM.
cartant

5
Швидше за все, у вас проблема з налаштуванням вузла / npm; наприклад, відповідний каталог npm не на вашому шляху. Де встановлюється машинопис, залежить від вашого оточення, але ви можете почати з npm list -g. Або спробуйте npm config get prefix(ваші пакунки зазвичай знаходяться в binкаталозі під цим). Також дивіться це питання .

Дякую, я зрозумів. Я забув експортувати префікс.
Aung Thet

Ви також можете перевірити мою відповідь
Zameer Ansari

Відповіді:


124

Кілька порад по порядку

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

Якщо це все ще не працює, запустіть, npm config get prefixщоб побачити, куди npm install -g розміщує файли (додайте binїх до вихідних даних), і переконайтеся, що вони знаходяться у шляху (це робить установка js-вузла. Можливо, ви забули встановити цю опцію).


4
Дякую, я зрозумів. Звичайно, я забув призначити шлях `export PATH = / prefix'sPath / bin: $ PATH 'та ( docs.npmjs.com/getting-started/fixing-npm-permissions ), також цей сайт пропонує такий. Я використав для цього цілий день :).
Aung Thet

stackoverflow.com/a/46783952/495157 - Ця відповідь є більш інформативною, особливо якщо ви робите кутовий / йонічний розвиток.
JGFMK

1
Мені довелося видалити node / npm. Використовували заварку для встановлення NVM, а потім встановили вузол, використовуючи nvm install nodeпотім, sudo npm install -g typescriptщоб tsc --version
Алекс

1
Я зробив лише "npm install typecript -g", і це спрацювало чудово
pixparker

Мені допомогло оновлення версії вузла.
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. Лише невелика помилка може пошкодити кожен проект, який ви коли-небудь писали, і ви витратите решту nite, намагаючись змусити console.log ("привіт") знову працювати: - =.

Якщо ви запустили npm i typecript --save-dev у своєму проекті - просто спробуйте запустити:

npx tsc

і подивіться, чи працює це перед тим, як возитися з глобальними речами (якщо ви часто не знаєте, що робите)

ура


8

Якщо після правильної інсталяції TypeScript вашої команди TSC не знайдено в MacOS (за допомогою такої команди:, $ 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

Нічого не працювало, крім цього для мене.


4

Після пошуку всіх рішень для цієї невеликої проблеми лише для macOS.
Нарешті, я отримав свої роботи TSC на своєму MacBook pro.

Це може бути найкращим рішенням, яке я знайшов.

Для всіх користувачів macOS замість того, щоб встановлювати машинопис за допомогою npm, ви можете встановити машинопис за допомогою домашньої мови.

-> brew install typescript

Будь ласка, див. Додану скріпку для довідки.

Дякую.

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


3

Я знаю, що це старе запитання, але у мене така сама проблема була на Ubuntu 19.10 LTS.

Щоб вирішити це, я запустив таку команду:

$ sudo apt install node-typescript

Після цього я зміг користуватися tsc.

Сподіваюся, це допоможе :)


3

Ця відповідь специфічна для iTermV2 на MAC

  1. Перш за все, мені потрібно було встановити як sudo(адміністратор) під час встановлення NPM

    sudo npm install -g машинопис

  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 у вашому випадку)

Гм добре знати. Але хто відтепер опікується цими посиланнями?
Кріс Піллен,

2

Єдиним рішенням, яке працювало для мене, став npx tsc -v або компіляція npx tsc salida.ts

"salida.ts" - це ім'я файлу


0

Рішення не для адміністраторів

У мене немає прав адміністратора, оскільки ця машина була видана моєю роботою.

  • отримати шлях до місця встановлення вузлових модулів та скопіювати в буфер обміну
    • npm config get prefix | clip
    • не маєте кліпу? просто скопіюйте вихідні дані зnpm config get prefix
  • додати скопійований шлях до змінних середовища
    • мій найкращий метод (Windows)
    • (Ctrl + R), вставте rundll32 sysdm.cpl,EditEnvironmentVariables
    • у розділі Змінні користувача двічі клацніть на Шлях > Створити > Вставити скопійований шлях

0

Жодна з наведених відповідей не вирішує мою проблему. Справа в тому, що в моєму проекті не був встановлений скрипт типу. Але на місцевому рівні я бігnpm install -g typescript . Тому я не помітив, що залежність вузла TypeScript не була в моєму пакунку json.

Коли я відсунув його на сторону сервера і запустив npm install, тоді npx tscя отримую tsc не знайдений. Фактично на віддаленому сервері не було встановлено машинопис. Це було приховано через мою локальну глобальну установку машинопису.


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каталог, в якому з’явилася помилка.


Вас не повинні змушувати працювати sudoдля встановлення пакунків. Тоді вам слід переінсталювати npm. Дивитись більше Не
суди нпм
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.