LoginSignup
22
26

More than 5 years have passed since last update.

node、npmのコマンドの場所がわけわからなくなってたのでnodenvで整理した

Last updated at Posted at 2019-03-15

brew経由やらndenvやらでnodeやnpmの場所が複雑になっていたので
nodenv1本に絞って、node関連の管理を整備した。

homebrew経由のnodeやnpmをアンインストール (デフォルトでは/usr/local/binに入っている)

brew uninstall npm
brew uninstall node

nodenv経由でnode、npmを管理する。
nodenv-installerというのを使えば自動でインストールしてくれるらしいが、今回はマニュアルインストールする
ホームディレクトリで

git clone https://github.com/nodenv/nodenv.git ~/.nodenv

こうすると、ホームディレクトリに./nodenvフォルダが作られ、これからはnode関連(バージョン、パッケージ、コマンド、パス)においてこのフォルダ以下のことだけ考えれば良い。

オプションとして、以下のコマンドを入力すると、nodenvの処理が早くなる。

cd ~/.nodenv && src/configure && make -C src

インストールしたコマンドにパスを通す

echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile

続いて、.bash_profileeval "$(nodenv init -)"を加える
nodenv initはnodenvをいい感じに設定してくれるコマンド

ターミナル再起動

ここで一旦、パスが通っているか確認

echo $PATH

で、/Users/[YOUR_USER]/.nodenv/shims:/Users/[YOUR_USER]/.nodenv/bin:という感じで追加されていればOK

正しくインストールされているか診断

curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash

Checking for `nodenv' in PATH: /Users/[YOUR_USER]/.nodenv/bin/nodenv
Checking for nodenv shims in PATH: OK
Checking `nodenv install' support: /usr/local/bin/nodenv-install (node-build 4.4.4)
Counting installed Node versions: none
  There aren't any Node versions installed under `/Users/[YOUR_USER]/.nodenv/versions'.
  You can install Node versions like so: nodenv install 2.2.4
Auditing installed plugins: OK

OKになっていれば完了。

その後、nodenv経由で簡単に各バージョンのnodeがインストールできるコマンドを提供する、node-buildもインストールしておく。
ここでもまたhomebrew経由でインストールできるが、今回はnodenvのプラグインとして.nodenvフォルダ下にインストールする

mkdir -p "$(nodenv root)"/plugins
git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build

これでやっとnodenvのインストールが完了。
ここからようやく、nodenv経由でnodeをインストールする。

nodenv install -l

で、インストールできるnodeのバージョンが一覧で表示されるので、自分が欲しいものをインストール。

nodenv install 11.11.0

node -vで確認しようとすると、

nodenv: node: command not found

The `node' command exists in these Node versions:
  11.11.0

というメッセージが出た。これはインストールしたnodeがグローバルに設定されていないからで、以下のコマンドで設定する。

nodenv global 11.11.0
node -v
v11.11.0

以上でnodenvでのnode環境の設定完了。

最終確認

which node 
/Users/[YOUR_USER]/.nodenv/shims/node

which npm
/Users/[YOUR_USER]/.nodenv/shims/npm

nodenv versions
* 11.11.0 (set by /Users/[YOUR_USER]/.nodenv/version)

これで、これからは.nodenvフォルダ以下だけをみてnode関連(バージョン、パッケージ、コマンド、パス)を管理していけば良くなった。

22
26
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
22
26