Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

tsc is not recognized as internal or external command

I updated from VSCode 0.10.6 to 0.10.8, and tried using Typescript for the first time. Unfortunately I when I tell VSCode to build, I get the error:

tsc is not a recognized as an internal or external command...

Here are the relevant details:

  • I created a fresh "HelloWorld" project according to VS Code instructions. This included:
    • I ran npm init for a new package.json
    • I ran npm i --save-dev typescript because I want a local install, rather than a global install.
    • I created a launch.json to define a node.js project.
    • I created the tasks.json file, with prescribed settings for tsc.
  • I have made a settings.json file, as shown here. It did not help.
  • I do have Visual Studio 2015 Community installed, but I have not installed a Typescript extension of any kind. When I type "where tsc" at a developer command prompt, it replies "could not find". I assume this is a good thing.

I have restarted VSCode (several times). What am I missing? What more must be done?

Update

I tried the solution offered by @zlumer. It succeeded in making the typescript compiler run, but then it caused thousands of errors to appear. To fix that, I also had to adjust my tsconfig.json to exclude the node_modules folder:

"exclude": [     "node_modules" ] 
like image 417
Brent Arias Avatar asked Feb 12 '16 18:02

Brent Arias


People also ask

How do I fix TSC not recognized?

To solve the error "tsc is not recognized as an internal or external command, operable program or batch file", install typescript globally by running npm install typescript@latest -g or prefix tsc with npx , e.g. npx --package typescript tsc --init .

How do you fix node is not recognized as an internal or external command?

To fix the "'node' is not recognized as an internal or external command" error in Windows, we can add the Node. js executable path to the PATH environment variable. to add C:\Program Files\Nodejs directory to the PATH as another entry in the list of values.

How do I install global TSC?

You can use npm to install TypeScript globally, this means that you can use the tsc command anywhere in your terminal. To do this, run npm install -g typescript . This will install the latest version (currently 4.7). An alternative is to use npx when you have to run tsc for one-off occasions.

How do you check TypeScript is installed or not?

Test that the TypeScript is installed correctly by typing tsc -v into your terminal or command prompt. You should see the TypeScript version print out to the screen. For help on possible arguments you can type tsc -h or just tsc .


2 Answers

There might be a reason that Typescript is not installed globally, so install it

npm install -g typescript // installs typescript globally 

If you want to convert .ts files into .js, do this as per your need

tsc path/file.ts // file.ts will be converted to file.js tsc              // all .ts files will be converted to .js files with in the directory tsc --watch      // converts all .ts files to .js, and watch changes in .ts files 
like image 78
WasiF Avatar answered Oct 02 '22 15:10

WasiF


The problem is that tsc is not in your PATH if installed locally.

You should modify your .vscode/tasks.json to include full path to tsc.

The line to change is probably equal to "command": "tsc".

You should change it to "command": "node" and add the following to your args: "args": ["${workspaceRoot}\\node_modules\\typescript\\bin\\tsc"] (on Windows).

This will instruct VSCode to:

  1. Run NodeJS (it should be installed globally).
  2. Pass your local Typescript installation as the script to run.

(that's pretty much what tsc executable does)

Are you sure you don't want to install Typescript globally? It should make things easier, especially if you're just starting to use it.

like image 25
zlumer Avatar answered Oct 02 '22 15:10

zlumer