sironekotoroの日記

Perl と Mac の初心者の備忘録

nodejs を macOS Catalina にインストールした

前は何かで nodejs を入れたのだけど、macOS Catalina をクリーンインストールした時に消えたままだった。

昨日土曜日に挑戦して、2時間かかってインストールできず、本日再チャレンジしたらすんなりインストールできた。

メモっておけばよかったけど、パスが通らなかったのと、ディレクトリがないってエラーだった。

備忘録的にコマンド履歴を残しておく。

nodejs を macOS Catalina にインストール

環境

sironekotoro 20-07-12 10:58:24 ~
$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.15.5
BuildVersion:   19F101

homebrew のバージョン

$ brew -v
Homebrew 2.4.5
Homebrew/homebrew-core (git revision d2eb63; last commit 2020-07-11)
Homebrew/homebrew-cask (git revision e6f3da; last commit 2020-07-11)

nodebrew のインストール

  • 一旦インストールできたのを削除して記録とっているので、Already downloaded: ってなっている
$ brew install nodebrew
Updating Homebrew...
==> Downloading https://github.com/hokaccha/nodebrew/archive/v1.0.1.tar.gz
Already downloaded: /Users/sironekotoro/Library/Caches/Homebrew/downloads/9895acc38dc859a4a1a841cf2e8cd78b519163d3499cdfcd4a08a068ce0babcd--nodebrew-1.0.1.tar.gz
==> Caveats
You need to manually run setup_dirs to create directories required by nodebrew:
  /usr/local/opt/nodebrew/bin/nodebrew setup_dirs

Add path:
  export PATH=$HOME/.nodebrew/current/bin:$PATH

To use Homebrew's directories rather than ~/.nodebrew add to your profile:
  export NODEBREW_ROOT=/usr/local/var/nodebrew

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/nodebrew/1.0.1: 8 files, 38.6KB, built in 3 seconds

インストール先のフォルダを作る

  • 上の nodebrew 入れた後のメッセージにもある通り、コマンドを打つ必要がある
You need to manually run setup_dirs to create directories required by nodebrew:
  /usr/local/opt/nodebrew/bin/nodebrew setup_dirs
  • このコマンドにより、 ~/.nodebrew フォルダが作成される
  • mkdir で作っている方法を紹介してるエントリもあったけど、その後のインストールが進まなかった
sironekotoro 20-07-12 10:59:24 ~
$ ls -la ~/.nodebrew
ls: /Users/sironekotoro/.nodebrew: No such file or directory

sironekotoro 20-07-12 11:00:29 ~
$ /usr/local/opt/nodebrew/bin/nodebrew setup_dirs

sironekotoro 20-07-12 11:00:33 ~
$ ls -la ~/.nodebrew
total 0
drwxr-xr-x   6 sironekotoro  staff   192  7 12 11:00 .
drwxr-xr-x@ 52 sironekotoro  staff  1664  7 12 11:00 ..
drwxr-xr-x   3 sironekotoro  staff    96  7 12 11:00 default
drwxr-xr-x   2 sironekotoro  staff    64  7 12 11:00 iojs
drwxr-xr-x   2 sironekotoro  staff    64  7 12 11:00 node
drwxr-xr-x   2 sironekotoro  staff    64  7 12 11:00 src

nodebrew のバージョンを確認

$ nodebrew -v
nodebrew 1.0.1

nodebrew へのパスを追加する

  • パスを追加することで、 $HOME/.nodebrew/current/bin 以外の場所にいても nodebrew コマンドを利用することができるようになる
sironekotoro 20-07-12 11:01:13 ~
$ export PATH=$HOME/.nodebrew/current/bin:$PATH

nodebrew で現時点での安定版をインストールする

  • 2020年07月12日時点では v12.18.2 が最新の安定版となっている

f:id:sironekotoro:20200712112934p:plain

sironekotoro 20-07-12 11:01:28 ~
$ nodebrew install v12.18.2
Fetching: https://nodejs.org/dist/v12.18.2/node-v12.18.2-darwin-x64.tar.gz
######################################################################### 100.0%
Installed successfully

nodebrew で、nodejs がインストールできたかを確認

sironekotoro 20-07-12 11:02:56 ~
$ nodebrew ls
v12.18.2

current: none

nodebrew で、nodejs のバージョンを指定する

  • 今回は1つのバージョンしか入れないけど、いずれ複数のバージョンを入れる。その時にもインストールとバージョンの指定が必要
  • current が v12.18.2 になる
sironekotoro 20-07-12 11:03:22 ~
$ nodebrew use v12.18.2
use v12.18.2

sironekotoro 20-07-12 11:03:39 ~
$ nodebrew ls
v12.18.2

current: v12.18.2

nodejs のバージョンを確認する

sironekotoro 20-07-12 11:03:52 ~
$ node -v
v12.18.2

npm(Node package maneger)も入っているか確認する

  • npm は nodejs での開発に必須なパッケージマネージャ
  • これも一緒にインストールされる
sironekotoro 20-07-12 12:14:01 ~
$ npm -v
6.14.5

~/.zshrc にパスを追加しておく

  • 現時点のままだと、ターミナルを終了すると通したパスの設定がなくなってしまう
  • ターミナル起動ごとにパスが通るように、~/.zshrc に設定を追加する
$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zshrc
  • これで、~/.zshrc の最終行にパスを追加するコマンドが追加される

なぜ nodejs インストールしたのか?

JavaScript との接点

  • 最近は Google Apps Script で経理を(やっている自分が)楽をするためのスクリプトを作っている
  • が、「動けばいい」みたいなレベルなので、ちゃんとした学習をしたくなった
    • まぁ、動いて目的を果たせるならそれはそれで素晴らしいとは思うんだけど
    • 強欲である

今回の教材

今回の勉強法

  • いつも初心者本を買うと、すぐ写経を始めるのだけど、「このコードは Perl ではどう書くんだろう?」って欲求が抑えられない
    • 抑えられない結果、無限に脱線していく
  • このため、この本はまず一通りを通勤途中に読んでいる
    • 経理のお仕事は出社前提で組まれていて、コロナ禍の中でも出社せざるを得ないのですー
    • ただまぁ、通勤そんなに嫌いではない
  • で、一通り読み終わりそうなので nodejs をインストールしたというわけ
    • 多分今週には読み終わりそう
  • おかげで、脱線せずに最後まで読み切ることができそう
  • JavaScript は今までも何回も入門してる
  • とっとと先( TypeScript, Angular, React, Vue )に行きたいけど、自分の中に基礎ができてないのが気持ち悪い
  • ということで、何度でも入門する
  • 2周目はもちろん写経しながら読む
  • ちなみに、技術書読むときは iPad Pro 12.9 インチモデルがとてもいいです。とても重くて嵩張るけど。 f:id:sironekotoro:20200712120047j:plain