環境構築:macOS MojaveにNode.jsをインストール

2020-03-04 23:16

先日に引き続き、環境構築は続きます・・・

インストールの流れ

環境は

macOS Mojave バージョン 10.14.6

Homebrewのインストール

Homebrew(ホームブルー)は、macOSオペレーティングシステム(およびLinux)上のパッケージ管理システムのひとつである。同じくmacOSのためのMacPortsやFinkと同様の目的と機能を備え、利用が広がりつつある。LinuxのDebianのAPTに似た使用感である。Max Howellによって開発された。「ホームブリュー」と読む人もいるが、「ホームブルー」のほうが正式な発音により近い。Homebrew (パッケージ管理システム)

Homebrewのインストールは、まず、本家サイトにあるスクリプトをターミナルに貼り付けて実行します。

homebrew.jpg
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made writable by user only:
/usr/local/share/zsh
/usr/local/share/zsh/site-functions

Press RETURN to continue or any other key to abort

リターンキーの押下を求められるので、何も考えず、リターンキーを押下。
続いてパスワードも求められるので、Macのログインパスワードを入力し、リターンキーを押下。

==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> Downloading and installing Homebrew...
remote: Enumerating objects: 243, done.
remote: Counting objects: 100% (243/243), done.
remote: Total 320 (delta 243), reused 243 (delta 243), pack-reused 77
Receiving objects: 100% (320/320), 87.98 KiB | 341.00 KiB/s, done.
Resolving deltas: 100% (250/250), completed with 129 local objects.
From https://github.com/Homebrew/brew
   fab4a4863..d3459161d  master     -> origin/master
 * [new tag]             2.2.8      -> 2.2.8
 * [new tag]             2.2.9      -> 2.2.9
HEAD is now at d3459161d Merge pull request #7128 from bayandin/patch-1
Updated 1 tap (homebrew/core).
==> New Formulae
forcecli
==> Updated Formulae
angular-cli                  eye-d3                       libtorrent-rasterbar         proteinortho
arpack                       flow                         libvirt                      psftools
asdf                         gh                           libxkbcommon                 pulumi
asymptote                    ghc                          libxo                        qrupdate
auditbeat                    gibo                         logrotate                    r
babel                        git-ftp                      logstash                     re2
biosig                       gmt                          ltl2ba                       root
cedille                      gmt@5                        mame                         rsyslog
ceres-solver                 goreleaser                   metricbeat                   rust
circleci                     gradle                       minio                        scalapack
citus                        graphviz                     mkvtoolnix                   scipy
clp                          gx                           netlify-cli                  shogun
cmake                        hub                          node                         sqlmap
coinutils                    idnits                       numpy                        stgit
coreutils                    imagemagick                  numpy@1.16                   suite-sparse
cpptest                      imagemagick@6                nwchem                       sundials
curl                         imapfilter                   octave                       tepl
curl-openssl                 ios-webkit-debug-proxy       omega                        tokei
ddrescue                     ipopt                        openblas                     topgrade
django-completion            istioctl                     opencv                       vala
docker                       jfrog-cli-go                 opencv@3                     valabind
docker-completion            kotlin                       pari                         vim
draco                        leiningen                    petsc                        visp
dxpy                         libmpdclient                 petsc-complex                youtube-dl
dynare                       libmypaint                   phoronix-test-suite
erlang@20                    libnotify                    poetry
exploitdb                    libquantum                   procs
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (or will be during this `install` run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh

インストールが完了したら
$ brew -vコマンドでHomebrewのバージョンが確認できます。

Homebrew 2.2.7
Homebrew/homebrew-core (git revision 999e8; last commit 2020-03-04)

Homebrewのインストールは完了です。

nodebrewのインストール

nodebrewは、Node.jsのバージョンを管理するためのツールです。
https://github.com/hokaccha/nodebrew

Homebrewを使用して、下記のコマンドでnodebrewをインストールします。
$ brew install nodebrew

==> Downloading https://github.com/hokaccha/nodebrew/archive/v1.0.1.tar.gz
==> Downloading from https://codeload.github.com/hokaccha/nodebrew/tar.gz/v1.0.1
######################################################################## 100.0%
==> 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のPATH変数を設定

インストールが完了したら、nodebrewコマンドを使用できるように、.bash_profileへPATH変数を設定します。
設定したら、ターミナルを再起動します。

$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bash_profile

ターミナルの再起動後、
$ nodebrew -vコマンドでnodebrewのバージョンが確認できます。

nodebrew 1.0.1

Usage:
  nodebrew help                         Show this message
  nodebrew install <version>            Download and install <version> (from binary)
  nodebrew compile <version>            Download and install <version> (from source)
  nodebrew install-binary <version>     Alias of `install` (For backword compatibility)
  nodebrew uninstall <version>          Uninstall <version>
  nodebrew use <version>                Use <version>
  nodebrew list                         List installed versions
  nodebrew ls                           Alias for `list`
  nodebrew ls-remote                    List remote versions
  nodebrew ls-all                       List remote and installed versions
  nodebrew alias <key> <value>          Set alias
  nodebrew unalias <key>                Remove alias
  nodebrew clean <version> | all        Remove source file
  nodebrew selfupdate                   Update nodebrew
  nodebrew migrate-package <version>    Install global NPM packages contained in <version> to current version
  nodebrew exec <version> -- <command>  Execute <command> using specified <version>

Example:
  # install
  nodebrew install v8.9.4

  # use a specific version number
  nodebrew use v8.9.4

Node.jsのインストール

Node.jsは、イベント化された入出力を扱うUnix系プラットフォーム上のサーバーサイドJavaScript環境である。Webサーバなどのスケーラブルなネットワークプログラムの記述を意図している。ライアン・ダールによって2009年に作成され、ダールを雇用しているJoyentの支援により成長している。Node.js

nodebrewを使用して、Node.jsをインストールします。

$ nodebrew install-binary stable

Fetching: https://nodejs.org/dist/v12.16.1/node-v12.16.1-darwin-x64.tar.gz
######################################################################## 100.0%
Installed successfully

インストールが完了したら
$ nodebrew listコマンドでインストール済みのNode.jsのバージョンの一覧が確認できます。

v12.16.1
v13.10.1

current: none

今回、Node.jsの最新版(latest)と安定版(stable)の2つのバージョンをインストールしたので、2つのバージョンが一覧されています。

Node.jsの有効化

インストール直後だと、current: noneとなっているため、
$ nodebrew use v12.16.1コマンドで有効化させ、
$ node -vコマンドで有効になったバージョンを確認できます。

これで、Node.jsの環境構築は完了しました。

v12.16.1

まだまだ、Webpackのインストールやら、Vueのインストールやら、Gitやら、Laravelやら・・・環境を戻すにはなかなか長い道のりです。