Debianに、Eclipseをインストールして、node.jsのコーディングとデバッグをしたい。
しかし、Debianに、node.js公式の方法を用いてnode.jsをインストールすると、node.jsを実行するときのコマンドが「node」でなく「nodejs」になったり、「npm」コマンドが認識しなかったりする。
一方、Eclipseでnode.jsを実行させる場合、npmコマンド、nodeコマンドを使うので、Debianで実行させようとすると、「コマンドが見つかりません」と言われて実行できない。
Debian × Eclipse × node.js の方々は結構いると思うのだが、解決法が見つからず、この問題を解決するのに2日(睡眠・休憩も含む)もかかったのでここに書いておこうと思う。
nvmを使えは、Debian上で「node」コマンドや「npm」コマンドを実行できるし、好きなバージョンのnode.jsをインストールすることができる。
方法は、@FePlusさんの以下の記事を見てほしい。
https://qiita.com/FePlus/items/a01e6059b9942f1f86b2
気を付けるのは、公式手順では .bashrc の末尾に追加する以下のスクリプトを、/etc/profile の末尾に追加する。
export NVM_DIR="/home/hogeuser/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
nvm use 9.8.4 > /dev/null
1行目は、nvm.sh があるディレクトリを指定。(インストールしたユーザーのホームディレクトに作成されているはず。)
3行目の、use のあとの数字はダウンロードしたnode.jsのバージョンを指定。
なぜ/etc/profile なのか?
@hirokishiraiさんの以下の記事を参考にした。
https://qiita.com/hirokishirai/items/5a529c8395c4b336bf31
.bashrc に追加すると、コマンドプロンプトが起動されるたび(?)にnvm.shが実行となるため、GUIのメニューから起動するEclipse起動時には、nvm.shが実行されず環境が作成されない。
/etc/profile だと、システムが起動されたときに、nvm.shが実行され環境が作成されるからだと思う。
ユーザーがログインするたびに実行される、~/.bash_profileに上記3行を追加すれば事足りるのかもしれないが試していない。