TypeScript事始め
環境はLinux Mint 20.3 Cinnamon。
ここを参考に着手。
qiita.com
TypeScriptをコンパイルするのに、Node.jsに同梱されているnpmコマンドが要るとのこと。
早速、
$ apt show npm
と実行すると、nodejs含め恐ろしい量の依存関係が表示される。
Node.jsの公式サイト(https://nodejs.org/ja/)を開くと、推奨版は16.14.0 LTS(2022/02/21時点)。
一方で、リポジトリのnodejsはどうなっているかというと
$ apt show nodejs Package: nodejs Version: 10.19.0~dfsg-3ubuntu1 :
と明らかに古い。
どうせなら新しい方を、と公式サイトからtarボールをDLしてみたが、makeファイルが有るわけでもなく、インストール方法も分からなければ依存関係もクリア出来なさそうで、手詰まりな雰囲気しかしない。
そこで、以下を見つけた。
qiita.com
求めていた情報にピッタリ。というわけで、
$ sudo apt install -y nodejs npm $ node -v v10.19.0
更に進める
$ sudo npm install n -g /usr/local/bin/n -> /usr/local/lib/node_modules/n/bin/n + n@8.0.2 added 1 package from 2 contributors in 0.434s $ sudo n stable installing : node-v16.14.0 mkdir : /usr/local/n/versions/node/16.14.0 fetch : https://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.xz installed : v16.14.0 (with npm 8.3.1) Note: the node command changed location and the old location may be remembered in your current shell. old : /usr/bin/node new : /usr/local/bin/node If "node --version" shows the old version then start a new shell, or reset the location hash with: hash -r (for bash, zsh, ash, dash, and ksh) rehash (for csh and tcsh)
npm install nが何なのかは分からないが(後で要確認)、最新のNode.jsが入った模様。
そして古いNode.jsを削除し、ログオン(これも分からないでやっているので後で要確認)。
$ sudo apt purge -y nodejs npm $ exec $SHELL -l $ node -v v16.14.0
ここまで来て漸く冒頭のサイトに戻り、TypeScriptコンパイラをインストールする。
$ sudo npm install -g typescript added 1 package, and audited 2 packages in 1s found 0 vulnerabilities npm notice npm notice New minor version of npm available! 8.3.1 -> 8.5.1 npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.5.1 npm notice Run npm install -g npm@8.5.1 to update! npm notice
新しいnpmが有るとか云うてるが取り敢えず置いとく。
$ tsc -v Version 4.5.5
cc, javacみたいなものか。tscでバージョン確認。
hello.tsをエディタで作成及び保存し、コンパイル。
$ tsc hello.ts
これでhello.jsファイルが生成される。中身を見ると、javascriptだ。
Node.jsで実行。
$ node hello.js Hello World