Reputation: 3640
I want to install typescript, so I used the following command:
npm install -g typescript
and test tsc --version
, but it just show 'tsc command not found'. I have tried many ways as suggested in stackoverflow, github and other sites. but it doesn't work. How could I know typescript is installed and where it is.
my OS is Unix, OS X El Capitan 10.11.6, node version is 4.4.3, npm version is 3.10.5
Upvotes: 313
Views: 574139
Reputation: 41
Just try to install typescript globally before your script, something like as follows
Yml file sample
script:
- cd utils
- npm install -g typescript
- tsc ../utils/<your-script>.ts
- node ../utils/<your-script>
Upvotes: 1
Reputation: 1256
One possible culprit to this could be having a typo in your dependency key at package.json, when running yarn
in your monorepo root does not install typescript
.
In my case I manually added a new lib to my monorepo and then tried to type "devDependencies" into package.json, but instead ended up with "devDependecies".
To fix this, install typescript from your terminal at your monorepo root:
yarn workspace @myorg/mylib -D typescript
Upvotes: 0
Reputation: 400
For pnpm:
I was using pnpm and the same error occurred to me, which I fixed using
npx tsc index.js
Upvotes: 2
Reputation: 455
I apply many things but these two are the way which might be work for you:
Upvotes: 0
Reputation: 773
Don't forget to use sudo if you are using Linux.
sudo npm install -g typescript
Upvotes: 2
Reputation: 1444
First Install typescript by running this command npm install typescript
or npm install -g typescript
[ for installing typescript globally ] then run npx tsc --version
for checking version of Typescript, instead of tsc --version
.
Same goes to running any typescript file, just run npx tsc <filename>.ts
For example, for a file named hello.ts, run npx tsc hello.ts
.
Upvotes: 9
Reputation: 1113
In package.json
"scripts": {
"tsc": "./node_modules/typescript/bin/tsc",
"postinstall": "npm run tsc"
},
Works for me for Heroku deployment.
Installing typescript npm install -D typescript
and writing tsc in the build script "build": "tsc",
does not work for me.
Upvotes: 4
Reputation: 4503
Use:
npm rebuild typescript
This will rebuild the tsc
link on your machine.
Upvotes: 8
Reputation: 173
I was having trouble with this because I didn't want to globally install typescript. I found I had to add a script to the package.json that called tsc for me. The solution can be found here - https://stackoverflow.com/a/41446584/6301243
Upvotes: 0
Reputation: 819
For mac users, you don't need to restart your laptop or doing any other commands
Use brew install typescript
Upvotes: 10
Reputation: 797
Globally installing TypeScript package worked for me.
npm install typescript -g
Upvotes: 20
Reputation: 2900
None of above worked for me.
I tried this as well,
yum install typescript
was able to compile by hook and crook as follows. Not recommended but just a workaround.
Just install locally using npm
, as npm install typescript
and verify in node_module folder, if its downloaded. and then run,
./node_modules/typescript/bin/tsc --help
./node_modules/typescript/bin/tsc //this line actually runs and compile and generate the compiled file.
Upvotes: 1
Reputation: 13
I have tried a lot to deploy the Node.js typescript project on Heroku and I have tried different solutions but none of them working for me. So, I have implemented a solution that is to create a build locally which is a dist folder, and just only push dist folder with package.json files, you don't need to push your src folder to Heroku. and in your script add "start": "node dist/index.js"
Here are my project structure:
.gitignore file:
package.json file:
"start": "node dist/index.js",
"deploy": "tsc && git add . && git commit -m Heroku && git push heroku master",
"dev": "ts-node-dev --respawn --pretty --transpile-only src/index.ts"
just need to add these scripts:
Upvotes: 0
Reputation: 164
I had this same problem on Ubuntu 19.10 LTS.
To solve this I ran the following command:
$ sudo apt install node-typescript
After that, I was able to use tsc
.
Upvotes: 3
Reputation: 553
After finding all solutions for this small issue for macOS only.
Finally, I got my TSC works on my MacBook pro.
This might be the best solution I found out.
For all macOS users, instead of installing TypeScript using NPM, you can install TypeScript using homebrew.
brew install typescript
Please see attached screencap for reference.
Upvotes: 39
Reputation: 2479
You are all messing with the global installations and -path files. Just a little error might damage every project you have ever written, and you will spend the rest of the night trying to get a console.log('hi')
to work again.
If you have run npm i typescript --save-dev
in your project - just try to run:
npx tsc
And see if it works before messing with global stuff (unless of course you really know what you are doing)
Upvotes: 246
Reputation: 41
Check your npm
version
If it's not properly installed, then install it first
run this command npm install typescript -g
now tsc <file_name>.ts
It'll create a corresponding .js
file. eg <file_name>.js
now try node <file_name>.js
Upvotes: 2
Reputation: 2015
None of above answer solve my problem.
The fact is that my project did not have type script installed.
But locally I had run npm install -g typescript
. So I did not notice that typescript node dependency was not in my package json.
When I pushed it to server side, and run npm install
, then npx tsc
I get a tsc not found. In facts remote server did not have typescript installed. That was hidden because of my local global typescript install.
Upvotes: 1
Reputation: 51
This answer is specific for iTermV2 on MAC
First of all, I needed to instal as sudo
(admin) during NPM install
sudo npm install -g typescript
NPM installs the libraries under /usr/local/Cellar/node/<your latest version>/lib/node_modules/typescript
folder and symlinks at /usr/local/Cellar/node/<your latest version>/bin/tsc
hence I went ~/.zshrc ( .bashrc, if you use bash)and added /usr/local/Cellar/node/<your latest version>/bin
to the $PATH.
source ~/.zshrc
(.bashrc in your case)Upvotes: 5
Reputation: 21
The only solution that work for me was put npx tsc -v or for the compiling npx tsc salida.ts
"salida.ts" is the name of the file
Upvotes: 2
Reputation: 1657
I do not have admin privileges since this machine was issued by my job.
npm config get prefix | clip
npm config get prefix
rundll32 sysdm.cpl,EditEnvironmentVariables
Upvotes: 0
Reputation: 611
I solved this on my machine by just running sudo npm install
in the directory that I was getting the error.
Upvotes: -2
Reputation: 141
If your TSC command is not found in MacOS after proper installation of TypeScript (using the following command: $ sudo npm install -g typescript
, then ensure Node /bin
path is added to the PATH
variable in .bash_profile
.
Open .bash_profile
using terminal: $ open ~/.bash_profile;
Edit/Verify bash profile to include the following line (using your favorite text editor):
export PATH="$PATH:"/usr/local/lib/node_modules/node/bin"";
Load the latest bash profile using terminal: source ~/.bash_profile
;
Lastly, try the command: $ tsc --version
.
Upvotes: 14
Reputation: 34
This works perfectly on Mac. Tested on macOS High Sierra
sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript
tsc --init
This generates the tsconfig.json file.
Upvotes: -5
Reputation: 81
Easy fix for Mac I found. Just run these commands:
sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript
Nothing worked except this for me.
Upvotes: 0
Reputation: 98
For windows:
Add the path by using command as below in command prompt:
path=%path%;C:\Users\\npm
As in my case, the above path was not registered for command.
%userprofile% in run windows, will give you path to C:\users\
Upvotes: -1
Reputation: 276353
A few tips in order
npm install typescript -g
If it still doesn't work run npm config get prefix
to see where npm install -g is putting files (append bin
to the output) and make sure that they are in the path (the node js setup does this. Maybe you forgot to tick that option).
Upvotes: 303