ChatGPT解决这个技术问题 Extra ChatGPT

Can't find Typescript compiler: Command "tsc" is not valid

Just installed Typescript extension to VS2012 and followed Install TypeScript for Visual Studio 2012 and then the tutorial to call the compiler:

> tsc greeter.ts

But when i try to compile .ts file where should i type: tsc greeter.ts? Tried it in VS command line and in windows console, always get the message that tsc is not recognized as command(Command "tsc" is not valid.).

how do you try to compile? at the commandline or via the GUI?
@hakre, how can this be a duplicate?..Answer is about .NET SDK!
To call a command on a system, you either need to specify the full path of it or the commands hosting directory is part of the path variable. This is actually identical, only the command differs. However I'd say that this mental action of correlation should be possible for a common programmer.
@user11201714 sorry? The question is 6 years old, also it's NOT about installing typescript.

l
lhk

If you're using tsc as a node module, make sure you've installed it with

npm install -g typescript

Then it should be available globally in your node command prompt


I didn't install the node/npm module and can access it. Currently I'm not sure whether it comes with VS 2012 or the TypeScript plugin.
Visual Studio 2012 has no out-of-the-box support for typescript, but the plugin installs the compiler. This download page typescript.codeplex.com/releases/view/111080 says that you can install typescript with "An MSI containing tools for Visual Studio, plus the compiler" . If you can access the compiler from your cmd but haven't installed the node module globally, then the Typescript plugin has installed the compiler and added it to your path.
If you have installed tsc as a node module, you can also use npm list -global --depth=0 to check, if it was installed globally and successfully.
This is a much better answer than the accepted one. It should solve the same issue regardless of platform or editor software.
Where is tsc supposed to be? I installed as indicated, I restarted the command prompt but tsc isn't recognized. Am I missing a path entry or am I missing tsc.exe (or similar)
c
chuckj

Ensure you have,

C:\Program Files (x86)\Microsoft SDKs\TypeScript\0.8.0.0

or,

C:\Program Files\Microsoft SDKs\TypeScript\0.8.0.0

on your path. If not, try restarting CMD.EXE and see if shows up with a fresh copy. If that fails, try adding one of the above manually to your path.


Nice! Ive the path (x86), tho its x64 windows..Thank you!
How do I add it to Path? I tried it myself, but it still doesn't work. Maybe I did it wrong? I added "tsc" and "C:\Program Files\Microsoft SDKs\TypeScript\0.8.0.0" to PATH but VS CMD still won't see it as being there. Also, VS CMD doesn't recognise anything.
Try changing the name of the path variable to PATH : Or create another with the uppercase name, instead of renaming)
I have installed typescript using 'npm install -g typescript' command but I don't find above path's in my Windows 8.1 Pro machine to set the path.
N
Neurotransmitter

For folks on Windows with Visual Studio Code, who don't want to install full Visual Studio just for tsc.exe, I can suggest to simply download it from here: https://www.microsoft.com/en-us/download/details.aspx?id=48593.

This is a shame that this link is missing from the TypeScript download page.

Although the installer is called TypeScript for Visual Studio 2015, it works with Visual Studio Code as well.

After you downloaded and installed TypeScript, you should manually add its installation directory (C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.0\ in my case) to the %PATH% environment variable.

Open environment variables editor:

Win + S; e, n, v, i, r, o; click Edit environment variables for your account.

In the window opened find Path user variable (note that it is not named %PATH% here, but still this is it). You probably have some path set there already. You just have to type ;, append the TypeScript install location and add one more ; in the end.

Screenshot for your reference:

https://i.stack.imgur.com/vTme6.jpg

After this is done, open Command Prompt and type in tsc -v. If tsc.exe's version is getting displayed, you're done. For this to work, restart Command Prompt and VS Code after making the change to the %PATH%.

P.S. If you get "error TS5057: Cannot find a tsconfig.json file at the specified directory: '.'", just create tsconfig.json file in the document root (that's probably where your .ts files are) with simple contents: {}. This means "an empty JSON file <...>. This will be sufficient for most people." (source).


"For this to work, restart Command Prompt" Glad you added that point. Thats why it didnt work for me.
go to edit environment variable for your account and add following Before "C:\Program Files (x86)\nodejs\" add => "%AppData%\npm". Close command prompt, vs code and re-open again
@Vaibhav this implies you have npm installed. My answer is more generic and doesn't require any dependencies apart from the tsc.exe itself.
This is a lifesaver answer, @Neurotransmitter - thank you. I've spent all evening trying to get Visual Studio Code to "see" and run tsc and of all the things that I've tried, this is the first process that has worked. (In my case, the installation folder was C:\Program Files (x86)\Microsoft SDKs\TypeScript\3.2\ but, apart from that, I followed your detailed and excellent instructions to the letter - thank you!)
Update: It seems what I wanted to achieve - installing Visual Studio Code and TypeScript but without having to install Node.js 13.4.0 (the last Node.js compatible with Windows 7) - wasn't possible in the end. Nevertheless, thanks, @Neurotransmitter, for saving me from tearing all of my hair out at a point in my VSC+TS discovery process where literally nothing seemed to be working.
L
Laszlo

Usually closing and reopen the command prompt solves the issues.


C
Chris Halcrow

Check both of these folders to find out what TypeScript version you have:

C:\Program Files (x86)\Microsoft SDKs\TypeScript\
C:\Program Files\Microsoft SDKs\TypeScript\

Right-click the folder showing the version number then 'copy as path'.

Paste this into your system path (quick access - Windows key then type 'env'). Then open a new command prompt console as administrator and 'tsc' should work.


Is there a better way to get the path to tsc.exe instead of assuming it's %PROGRAMFILES(X86)%\Microsoft SDKs\TypeScript\{version}\tsc.exe? And how do we determine what the version number is? Is there some registry value we can use?
B
BartoszKP

As new path variable, don't use the displayed tsc version number but the TypeScript Folder Name which is different.

Sample :

tsc -v display 2.4.1 

but TypeScript directory is

C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.4


S
Sagnik Ghosh

Just delete AppData\Roaming\npm\tsc.ps1 file and the issue will be fixed.


J
Jitendra Kumar

In my case, I did install typescript globally by using -g flag but tsc was not recognized. It turns out that below directory was not included in path environment variable:

C:\Users\Jitendra\AppData\Roaming\npm

Adding this directory to path variable worked for me.


S
Shahriar Morshed

In CMD type where tsc if it doesn't show a path like this C:\Program Files (x86)\Microsoft SDKs\TypeScript\typescript version you installed\ it means your tsc is not running from here.You need to change the environment path manually by following @TranslucentCloud 's answer .