LoginSignup
16
16

More than 5 years have passed since last update.

MacのローカルにnodebrewでNode&npmをインストール

Posted at

基本的にはこちら
node.jsのversionを管理するためにnodebrewを利用する
を参照させていただきました。

インストール

取得

curl -L git.io/nodebrew | perl - setup

install nodebrew in $HOME/.nodebrew

========================================
Add path:

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

homeディレクトリのnodebrewにインストールしたので、パスをとおしてください的なことを言われている。

私も参考記事同様.bash_profileでやってますので、.bash_profileにパスを通す。まんまですが以下を追加する。

export PATH="$HOME/.nodebrew/current/bin:$PATH"

nodebrewインストール確認

$nodebrew -v
nodebrew 0.7.2

nodebrewでインストールできるnodeのバージョン確認

$nodebrew ls-remote

現安定版11.10をインストールしようとしたが(Yeomanが動かなかった?ので、v0.10.26に変更しました)

$nodebrew install-binary v0.10.26

インストール済みnodeバージョン確認

$nodebrew ls
v0.10.26
current: none

current: noneということで現在の使用中バージョンはないと言われる。

インストールしたv0.10.26を使用することにする

$nodebrew use v0.10.26
use v0.10.26
$nodebrew ls
v0.10.26

current: v0.10.26

nodeコマンドでも一応バージョン確認

$node -v
v0.10.26

インストール場所の確認

$ which node
/Users/teru1/.nodebrew/current/bin/node
$ which npm
/Users/teru1/.nodebrew/current/bin/npm

npmもnodeインストールで一緒に入っているのだね。

ディレクトリ構成確認

あとで、v0.10系の最新がv0.10.28になったので、それを追加した。
その上で、ディレクトリ構成を確認した。

$ nodebrew ls
v0.10.26
v0.10.28

current: v0.10.26
$ pwd
/Users/teru1/.nodebrew
$ ls
total 48
drwxr-xr-x   8 teru1  staff    272  5 28 13:26 ./
drwxr-xr-x+ 82 teru1  staff   2788  5 28 11:22 ../
drwxr-xr-x   4 teru1  staff    136  3 24 21:27 completions/
lrwxr-xr-x   1 teru1  staff     36  5 28 13:26 current@ -> /Users/teru1/.nodebrew/node/v0.10.26
drwxr-xr-x   3 teru1  staff    102  3 24 21:27 default/
drwxr-xr-x   4 teru1  staff    136  5 28 13:16 node/
-rwxr-xr-x   1 teru1  staff  19936  3 24 21:27 nodebrew*
drwxr-xr-x   5 teru1  staff    170  5 28 13:15 src/

currentがv0.10.26です。この状態でいくつかnpmでインストールしました。

その上で、ディレクトリ構成です。それぞれのバーションでディレクトリがありますね。

$ pwd
/Users/teru1/.nodebrew/node
$ ls
total 0
drwxr-xr-x  4 teru1  staff  136  5 28 13:16 ./
drwxr-xr-x  8 teru1  staff  272  5 28 13:26 ../
drwxr-xr-x  9 teru1  staff  306  3 26 21:38 v0.10.26/
drwxr-xr-x  9 teru1  staff  306  5 28 13:16 v0.10.28/

v0.10.26(いくつかnpmでインストールした後です)

v0.10.26/bin
$ pwd
/Users/teru1/.nodebrew/node/v0.10.26/bin
$ ls
total 20512
drwxr-xr-x  10 teru1  staff       340  5 28 11:56 ./
drwxr-xr-x   9 teru1  staff       306  3 26 21:38 ../
lrwxr-xr-x   1 teru1  staff        35  3 26 21:46 bower@ -> ../lib/node_modules/bower/bin/bower
lrwxr-xr-x   1 teru1  staff        39  3 26 21:46 grunt@ -> ../lib/node_modules/grunt-cli/bin/grunt
lrwxr-xr-x   1 teru1  staff        39  3 27 02:29 karma@ -> ../lib/node_modules/karma-cli/bin/karma
-rwxr-xr-x   1 teru1  staff  10470440  2 19 08:43 node*
lrwxr-xr-x   1 teru1  staff        31  3 26 21:39 nodebrew@ -> /Users/teru1/.nodebrew/nodebrew
lrwxr-xr-x   1 teru1  staff        38  3 26 21:38 npm@ -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxr-xr-x   1 teru1  staff        38  5 28 11:56 tsc@ -> ../lib/node_modules/typescript/bin/tsc
lrwxr-xr-x   1 teru1  staff        29  3 26 21:46 yo@ -> ../lib/node_modules/yo/cli.js
v0.10.26/lib/node_modules
$ pwd
/Users/teru1/.nodebrew/node/v0.10.26/lib/node_modules
$ ls
total 0
drwxr-xr-x  13 teru1  staff   442  5 28 11:56 ./
drwxr-xr-x   4 teru1  staff   136  3 26 21:38 ../
drwxr-xr-x  18 teru1  staff   612  3 26 21:46 bower/
drwxr-xr-x  31 teru1  staff  1054  3 26 21:46 generator-angular/
drwxr-xr-x   6 teru1  staff   204  3 26 21:47 generator-karma/
drwxr-xr-x  13 teru1  staff   442  3 26 21:46 grunt-cli/
drwxr-xr-x  17 teru1  staff   578  3 27 01:09 karma/
drwxr-xr-x   6 teru1  staff   204  3 27 02:30 karma-chrome-launcher/
drwxr-xr-x   8 teru1  staff   272  3 27 02:29 karma-cli/
drwxr-xr-x   6 teru1  staff   204  3 27 00:02 karma-jasmine/
drwxr-xr-x  20 teru1  staff   680  3 26 21:38 npm/
drwxr-xr-x   9 teru1  staff   306  5 28 11:56 typescript/
drwxr-xr-x   9 teru1  staff   306  3 26 21:46 yo/

v0.10.28(こちらはnodebrewでインストールしたての状態です)

v0.10.28/bin
$ pwd
/Users/teru1/.nodebrew/node/v0.10.28/bin
$ ls
total 20520
drwxr-xr-x  5 teru1  staff       170  5 28 13:16 ./
drwxr-xr-x  9 teru1  staff       306  5 28 13:16 ../
-rwxr-xr-x  1 teru1  staff  10494000  5  2 09:54 node*
lrwxr-xr-x  1 teru1  staff        31  5 28 13:16 nodebrew@ -> /Users/teru1/.nodebrew/nodebrew
lrwxr-xr-x  1 teru1  staff        38  5 28 13:16 npm@ -> ../lib/node_modules/npm/bin/npm-cli.js
v0.10.28/lib/node_modules
$ pwd
/Users/teru1/.nodebrew/node/v0.10.28/lib/node_modules
$ ls
total 0
drwxr-xr-x   3 teru1  staff  102  5 28 13:16 ./
drwxr-xr-x   4 teru1  staff  136  5 28 13:16 ../
drwxr-xr-x  22 teru1  staff  748  5 28 13:16 npm/

npmくらいですね。

パッケージの移行

nodebrewのサブコマンドで既存のグローバルインストールパッケージを新たなバージョンのグローバルパッケージとして一気に移行できるようです。

nodebrew migrate-package 移行元のバーションを指定

ここでは上述してv0.10.26のパッケージを何もインストールしていないv0.10.28のパッケージとして移行してみましょう。

まず、移行したいバーションを使用するように

$ nodebrew use v0.10.28
use v0.10.28
$ nodebrew ls
v0.10.26
v0.10.28

current: v0.10.28

それから移行するコマンド打ってみる

nodebrew migrate-package v0.10.26

いろいろインストール作業してくれて、こんな感じで終了しました

Install successful:
bower
generator-angular
generator-karma
grunt-cli
karma
karma-chrome-launcher
karma-cli
karma-jasmine
typescript
yo

すごい時代だな。

確認

v0.10.28/bin
$ pwd
/Users/teru1/.nodebrew/node/v0.10.28/bin
$ ls
total 20560
drwxr-xr-x  10 teru1  staff       340  5 28 14:32 ./
drwxr-xr-x   9 teru1  staff       306  5 28 13:16 ../
lrwxr-xr-x   1 teru1  staff        35  5 28 14:30 bower@ -> ../lib/node_modules/bower/bin/bower
lrwxr-xr-x   1 teru1  staff        39  5 28 14:31 grunt@ -> ../lib/node_modules/grunt-cli/bin/grunt
lrwxr-xr-x   1 teru1  staff        39  5 28 14:32 karma@ -> ../lib/node_modules/karma-cli/bin/karma
-rwxr-xr-x   1 teru1  staff  10494000  5  2 09:54 node*
lrwxr-xr-x   1 teru1  staff        31  5 28 13:16 nodebrew@ -> /Users/teru1/.nodebrew/nodebrew
lrwxr-xr-x   1 teru1  staff        38  5 28 13:16 npm@ -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxr-xr-x   1 teru1  staff        38  5 28 14:32 tsc@ -> ../lib/node_modules/typescript/bin/tsc
lrwxr-xr-x   1 teru1  staff        29  5 28 14:32 yo@ -> ../lib/node_modules/yo/cli.js
v0.10.28/lib/node_modules
$ pwd
/Users/teru1/.nodebrew/node/v0.10.28/lib/node_modules
$ ls
total 0
drwxr-xr-x  13 teru1  staff   442  5 28 14:32 ./
drwxr-xr-x   4 teru1  staff   136  5 28 13:16 ../
drwxr-xr-x  18 teru1  staff   612  5 28 14:30 bower/
drwxr-xr-x  31 teru1  staff  1054  5 28 14:30 generator-angular/
drwxr-xr-x   6 teru1  staff   204  5 28 14:30 generator-karma/
drwxr-xr-x  13 teru1  staff   442  5 28 14:31 grunt-cli/
drwxr-xr-x  17 teru1  staff   578  5 28 14:31 karma/
drwxr-xr-x   6 teru1  staff   204  5 28 14:32 karma-chrome-launcher/
drwxr-xr-x   8 teru1  staff   272  5 28 14:32 karma-cli/
drwxr-xr-x   6 teru1  staff   204  5 28 14:32 karma-jasmine/
drwxr-xr-x  22 teru1  staff   748  5 28 13:16 npm/
drwxr-xr-x   9 teru1  staff   306  5 28 14:32 typescript/
drwxr-xr-x   9 teru1  staff   306  5 28 14:32 yo/

ちゃんとv0.10.26のパッケージ構成が移行、というか、インストールされていますね。




16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16