emahiro/b.log

Drastically Repeat Yourself !!!!

node のバージョン管理に n を使い始めた

内容

理由

  • 年末だし、開発周りに環境をアップデートしていたこと
  • node-brew で管理すると、バージョンを切り替えるときに nodebrew を打つのがめんどくさい
  • 割と仕事でもそこそこ頻繁に node のバージョンを切り替えることが多いので、打ち込むコマンドは少ない方がいい
    • n って1文字じゃん!!!最高!!!!

nodebew を捨てる

  1. nodebrew のPATHを通してる箇所を削除
  2. ~/.nodebrew を削除
  3. usr/local/bin 配下の nodebrew を削除

n を入れる

https://github.com/tj/n/blob/master/README.md の通り。
これだけだと n 経由で特定バージョンの node を入れるときに /usr/local/n 配下に書き込み権限がないので、README.md に記載してる権限付与の作業が必要。

$ n 10.16.0

  installing : node-v10.16.0
       mkdir : /usr/local/n/versions/node/10.16.0
       fetch : https://nodejs.org/dist/v10.16.0/node-v10.16.0-darwin-x64.tar.gz

便利!

[追記]

初めて n を入れてから n {$VERSION} で指定したバージョンの node を入れようとすると権限エラーが起きることがある。

 n 9.11.2

  installing : node-v9.11.2
       mkdir : /usr/local/n/versions/node/9.11.2
mkdir: /usr/local/n/versions/node/9.11.2: Permission denied

  Error: sudo required (or change ownership, or define N_PREFIX)

N_PREFIX を指定すると解決する。以下を bash_profile や .zshrc に追加する。

export N_PREFIX="$HOME/.n"
export PATH="$PATH:$N_PREFIX/bin"