@suzu6

主にWEBと解析の技術について書きます。

広く浅くも続ければ深くなるはず。

MacにNode/npmをインストールする手順 2019年1月更新

MacにNodeをインストールする手順です。 homebrewを使ってインストールとnodebrewでnpmのバージョン管理をします。

Linuxでも同様にbrewコマンドを使う手順も載せています。

できた環境

環境とインストールしたバージョン。

  • Mac OS : High Sierra 10.13
  • homebrew : 1.9.2
  • nodebrew : 1.0.1
  • node : v11.6.0
  • npm : 6.6.0

2019年1月現在の最新に更新しました。

homebrew

homebrew 公式

homebrewはMacのパッケージマネージャです。
インストールされていない方は、公式か下記のコマンドからインストールできます。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

パスワードを尋ねられた場合は、ご自身のMacのパスワードを入力してください。

確認のコマンド。

$ brew --version
Homebrew 1.9.2
Homebrew/homebrew-core (git revision beff7; last commit 2019-01-18)
Homebrew/homebrew-cask (git revision 2d5950; last commit 2019-01-18)

アップデートする場合のコマンド。

$ brew update

Linuxbrew

Linuxの方はLinuxbrewを利用します。

以下インストール手順。可能であればsudoでの実行が推奨されています。

sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

続いて、PATHプロファイルにbrewコマンドを追加します。 Debian/Ubuntuは~/.profile、CentOS/Fedora/RedHatは~/.bash_profileに追加します。

test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile

確認のためhelloをインストールしてみる。

$ brew install hello
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/hello-2.10.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring hello-2.10.high_sierra.bottle.tar.gz
🍺  /usr/local/Cellar/hello/2.10: 11 files, 125.2KB

nodebrewをインストール

Nodeのバージョン管理をするためnodebrewをインストールします。

$ brew install nodebrew

バージョンを確認します。

$ nodebrew -v
nodebrew 1.0.1

Node.jsをインストール

そのままではインストール時にエラーになるため、まずディレクトリ~/.nodebrew/srcを作ります(※エラーの詳細は記事の最後に載せました)。
その後、最新のバージョンをインストールします。

$ mkdir -p ~/.nodebrew/src
$ nodebrew install-binary latest
$ nodebrew list
v10.9.0
v11.6.0

current: v10.9.0

2019年1月でのnodeの最新バージョン:v11.6.0

インストール済みである場合、current: v10.9.0と旧バージョンが適応されていることがわかる。(2018年8月に導入したもの) 新規インストールでは、current: noneとなる。

先ほどインストールしたバージョンを使えるようにします。

$ nodebrew use v11.6.0
use v11.6.0

node, npmコマンドを設定する。

bashにパスを通して、node, npmコマンドを使えるようにします。 Debian/Ubuntuの場合は~/.profileに置き換えてください。

$ ls $HOME/.nodebrew/current/bin
node            nodebrew        npm             npx
$ echo 'export PATH=$PATH:$HOME/.nodebrew/current/bin' >> ~/.bash_profile
$ vi ~/.bash_profile

~/.bash_profileに以下を追記。

if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi

shell を再起動します。

$ exec $SHELL -l

npmとnodoを確認する。

$ npm -v
6.6.0
$ node -v
v11.6.0

無事インストールされました。

nodebrewでnodeのバージョンを管理する。

nodeのバージョンを切り替えてみます。

# 現在インストール済みと利用しているバージョンの確認
$ nodebrew list
v10.9.0
v11.6.0

current: v11.6.0

v8.9.4をインストールして切り替えてみる。

# v8.9.4をインストールする
$ nodebrew install v8.9.4

# バージョンの切り替え
$ nodebrew use v8.9.4
use v8.9.4

$ node -v
v8.9.4
$ npm -v
5.6.0

簡単に切り替えることができました。 また、インストール済みの中で最新に戻す場合は、latestで指定できます。

$ nodebrew use latest
use v11.6.0

使わないバージョンは削除できます。

$ nodebrew uninstall v8.9.4
v8.9.4 uninstalled

# ソースファイルも削除する。
$ nodebrew clean v8.9.4
Cleaned v8.9.4

# OK
$ nodebrew list
v10.9.0
v11.6.0

current: v11.6.0

nodebrewのその他のコマンド

nodebrew helpもしくは、man nodebrewで確認して見てください。

$ nodebrew help
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>

nodebrew installでのエラー

2018-08に確認。

原因~/.nodebrew/srcのディレクトリがないため。
対処:インストール前にディレクトリを作成。mkdir -p ~/.nodebrew/src

参考からメジャーバージョンが2つ上がっていますが、同じくインストール時にエラーになりました。

$ nodebrew install-binary latest
Fetching: https://nodejs.org/dist/v10.9.0/node-v10.9.0-darwin-x64.tar.gz
Warning: Failed to create the file
Warning: {your home path}/.nodebrew/src/v10.9.0/node-v10.9.0-darwin-x64.tar
Warning: .gz: No such file or directory
                                                                           0.0%
curl: (23) Failed writing body (0 != 1057)
download failed: https://nodejs.org/dist/v10.9.0/node-v10.9.0-darwin-x64.tar.gz

おわりに

初めてNode.jsに触る方にはこちらの本をお勧めします。

以上、快適なNodeライフを!

参考