Can't find Typescript compiler: Command "tsc" is not valid
Solution 1:
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
Solution 2:
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.
Solution 3:
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:
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).
Solution 4:
Usually closing and reopen the command prompt solves the issues.