はじめに
自分の備忘録のために調べたことと参照先をまとめていきたい。
Android端末(現時点ではpixel限定)でterminalが使えるようになった。
ちょうどTypeScriptを勉強したかったのでまずは基本的なnode.jsとnpm環境を構築し、それぞれのソフトウェアの概要を確認する。
目次
環境
- 端末:pixel6a(Androidスマートフォン)
- アプリ:ターミナル
- Linux仮想環境:debian
(Android Virtualization Framework) - debianバージョン:Linux localhost 6.1.0-29-avf-arm64 #1 SMP Ubuntu 6.1.123-1 (2025-01-02) aarch64 GNU/Linux
参照:https://news.yahoo.co.jp/articles/d3473c2e2a2cd2d4e084b2e4b65d2d9953d0277f
結論
参照:https://nodejs.org/ja/download
nodeバージョン:v22.14.0
npmバージョン:11.2.0
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
nvm install 22
node -v # "v22.14.0"が表示される。
nvm current # "v22.14.0"が表示される。
npm -v # "10.9.2"が表示される。
npm install npm@latest -g # 最新バージョン更新
npm -v # "11.2.0"が表示される。
はじめはaptでインストールしたがバージョンが古そう。
公式サイトを確認し、nvm経由で入れ直し。これでバージョンの変更も簡単に出来そう。
node.js
node.js 概要
参照:公式サイト https://nodejs.jp/docs
- GoogleChromeのエンジンV8をブラウザ外で動かせるようにしたランタイム
- 単一プロセスでノンブロッキング動作
- I/Oは別スレッドによるブロッキング動作
イベント駆動によるWeb系特化っぽい。
当然であるがスレッド使用や速度を求める処理用ではなさそう。
node.js バージョン
参照:公式サイト https://nodejs.org/ja/about/previous-releases
- サポート期間
カレントバージョン:6ヶ月
LTSバージョン:30ヶ月 - バージョン規定
メジャーバージョン偶数版:LTS
メジャーバージョン奇数版:カレント時のみサポート
node.js ライセンス
MITライセンスのため自社製品に商用利用しても公開とかしなくてよさそう。
- OpenStandia https://openstandia.jp/oss_info/nodejs/
- Wikipedia https://ja.m.wikipedia.org/wiki/Node.js
ただgitを見ると一部Unicode license v3なども記載あり。内部構造がまだ分からないため、一旦上記を信じる。
- gitライセンスページ https://github.com/nodejs/node/blob/main/LICENSE
npm
npm 概要
参照:https://docs.npmjs.com/
Web系のパッケージ管理マネージャ
厳密にはnpmはレジストリのことで、我々か使用するコマンドについてはnpm CLIっぽい。
プロジェクト毎にモジュールを管理できるよう。
npm バージョン
参照:https://docs.npmjs.com/about-npm-versions
上記にnode.jsよりも更新頻度が高いため、定期的な更新がおすすめされている。安定版への更新コマンドは以下。
npm install npm@latest -g
npm ライセンス
参照:https://github.com/npm/cli/blob/latest/LICENSE
Artistic License 2.0
改変したものを再配布することが禁止されている模様。
商用利用と通常版の再配布は問題ないので業務や製品環境に入れて普通に使う分には大丈夫かと考える。
バージョン管理ツール(nvm)
node.jsの公式ダウンロード手順ページにて推奨欄の1番上に出ているのがnvmであるためそちらで実施。
nやvoltaなど色んなものもある。
主要な使い方は下記。
nvm use [バージョン]
nvm use 22 #例
node -v #バージョンの確認
nvm current
nvm install [バージョン]
nvm install 22 #例
nvm uninstall [バージョン]
nvm uninstall 23 #例
こちらもMITライセンス。
ライセンスや使い方の記載は以下。
参照:https://github.com/nvm-sh/nvm