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:
npm init
for a new package.jsonnpm i --save-dev typescript
because I want a local install, rather than a global install.I have restarted VSCode (several times). What am I missing? What more must be done?
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"
]
This question is related to
node.js
typescript
visual-studio-code
tsc is not recognized as internal or external command
As mentioned in another answer this is because tsc is not present in path.
1. Install as global package
To make TypeScript compiler available to all directories for this user, run the below command:
npm install -g typescript
You will see something similar to
C:\Users\username\AppData\Roaming\npm\tsserver -> C:\Users\username\AppData\Roaming\npm\node_modules\typescript\bin\tsserver C:\Users\username\AppData\Roaming\npm\tsc -> C:\Users\username\AppData\Roaming\npm\node_modules\typescript\bin\tsc + [email protected] added 1 package from 1 contributor in 4.769s
2. Set the environment variable
Add the npm installation folder to your "user variables" AND "environment variables".
In windows you can add environment variable PATH with value
C:\Users\username\AppData\Roaming\npm\
i.e. wherever the npm installation folder is present.
Note: If multiple Paths are present separate them with a ;(semicolon)
If the below command gives the version then you have successfully installed
tsc --version
For me, by running Visual Studio Code as Administrator, the problem is resolved.
You have missed typescript installation, just run below command and then try tsc --init
npm install -g typescript
Alternatively you can use npm which automatically looks into the .bin folder. Then you can use tsc
In the VSCode file tasks.json
, the "command": "tsc"
will try to find the tsc windows command script in some folder that it deems to be your modules folder.
If you know where the command npm install -g typescript
or npm install typescript
is saving to, I would recommend replacing:
"command": "tsc"
with
"command": "D:\\Projects\\TS\\Tutorial\\node_modules\\.bin\\tsc"
where D:\\...\\bin
is the folder that contains my tsc windows executable
Will determine where my vscode is natively pointing to right now to find the tsc and fix it I guess.
You need to run:
npx tsc
...rather than just calling tsc
own its on like a Windows command as everyone else seems to be suggesting.
If you don't have npx
installed then you should. It should be installed globally (unlike Typescript). So first run:
npm install -g npx
..then run npx tsc
.
If you want to run the tsc command from the integrated terminal with the TypeScript module installed locally, you can add the following to your .vscode\settings.json file.
{
"terminal.integrated.env.windows": { "PATH": "${workspaceFolder}\\node_modules\\.bin;${env:PATH}" }
}
This will prepend the locally installed node module's binary/executable directory (where tsc.cmd is located) to the $env.PATH variable.
For windows
After installing typescript globally
npm install typescript -g
just search for "node.js command prompt"
type in command promt
tsc -v
Here we can see tsc command works, now navigate to your folder and type
tsc filename.ts
its complies ts to js file.
Me too faced the same problem. Use nodeJS command prompt instead of windows command prompt.
Step 1: Execute the npm install -g typescript
Step 2: tsc filename.ts
New file will be create same name and different extension as ".js"
Step 3: node filename.js
You can see output in screen. It works for me.
One more scenario of this error:
locally
and run the command without npm run
First, it is important to notice this is a "general" terminal error (Even if you write hello bla.js
-or- wowowowow index.js
):
"hello world" example of this error:
-g
) ==> npm install typescript
.
https://docs.npmjs.com/downloading-and-installing-packages-locallytsc
commands available if you run npm run
inside your local project. For example: npm run tsc -v
:-or- install typescript globally (Like other answer mention).
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 file.ts // file.ts will be converted to file.js file
tsc // all .ts files will be converted to .js files in the directory
tsc --watch // converts all .ts files to .js, and watch changes in .ts files
Source: Stackoverflow.com