LoginSignup
47
36

More than 5 years have passed since last update.

anyenv と nodenv で node.js バージョン管理、設定後に gulp の設定を修正(Mac)

Last updated at Posted at 2019-04-01

様々なプログラム言語のバージョンを複数インストールしてバージョンを切替えて使用、管理できる anyenv というツールの存在を知り、node.js 管理の nodenv だけでなく、python、ruby なども pyenv、rbenv を anyenv でまとめて管理できるということで、便利そう!と思い、使ってみることにしました。
現在まで node.js のバージョン管理には nodebrew を使っていました。
node.js 用はとしては、ndenv も nodenv 同様のことができて有名なようですが、あまりアップデートされていないとのことでしたので、node.jsの環境管理は nodenv を選択しました。
設定に苦労したのでメモをまとめておきます。

Anyenv のインストール

anyenv:
https://github.com/anyenv/anyenv

git clone でルートに .anyenv を複製し、
.bash_profile にパスを通したあとにシェルを再起動

$ git clone https://github.com/anyenv/anyenv ~/.anyenv
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l

インストール後エラーメッセージが表示されてしまったので、

> \e[33mANYENV_DEFINITION_ROOT(/Users/USER_NAME/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:\e[0m
\e[33m> anyenv install --init\e[0m

エラーメッセージのとおりに再度 anyenv をインストール

$ anyenv install --init

anyenv でインストールできる **env を一覧表示する

$ anyenv install -l

nodenv のインストール

nodenv:
https://github.com/nodenv/nodenv

anyenv で nodenv をインストール

$ anyenv install nodenv

nodenvでの node.js バージョン管理

インストール可能な node.js のバージョン確認

$ nodenv install --list

Nodenv でバージョンを指定してインストール

$ nodenv install 11.12.0

インストール後にリハッシュする

$ nodenv rehash

各プロジェクトディレクトリでのバージョン設定

各プロジェクトディレクトリに移動し .node-versions (隠しファイル)にバージョンを記述すると、nodenvがバージョンを自動で切り替えてくれる

$ cd myproject
$ nodenv local 10.6.0

グローバルの node.js を特定バージョンで有効化

$ nodenv global 11.12.0

グローバルの node.js バージョンを確認

$ nodenv global
11.12.0

現在のディレクトリの node.js バージョンを確認

$ node -v
v10.13.0

nodenv で管理されている node.js のバージョン一覧を表示

$ nodenv versions
* system => v10.13.0 (set by /Users/USER_NAME/.anyenv/envs/nodenv/version)

nodebrewで管理していた 旧 node.js をアンインストール

nodebrew uninstall [version]

.bash_profile の nodebrew 用のパスの記述を削除

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

nodenv の設定

.bash_profile に nodenv 追記
シェルの再起動

$ echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l

.bash_profile の内容を確認

$ cat ~/.bash_profile

node.jsのバージョン確認

$ node -v

.bash_profileの記述を確認

$ cat ~/.bash_profile

nodenv の再ロード

$ nodenv init

nodenv を使ってインストールした Node.js のアンストール

$ nodenv uninstall 6.0.0

gulp の設定を修正

gulp
https://gulpjs.com/docs/en/getting-started/quick-start

nodenv をインストール後に、 gulp を使用しているプロジェクトのディレクトリで gulp を実行したところ、
command not found が表示されて gulp が動かなくなったので、設定を修正する
(パスが通っていないのが原因と思われるので、gulp を再インストールをせずにパスを通すだけで解決する可能性が高そう)

$ cd <myproject>
$ gulp
bash: gulp: command not found

gulp の再インストール

npmをアップデート

$ npm install -g npm

すでにインストールされているグローバルの gulp ファイルを削除しておく
(sudo なしで実行したところエラーになったので sudo をつけて再度実行)

$ sudo npm rm --global gulp

gulpをグローバルにインストールする

$ sudo npm install --global gulp

command not found が表示されたプロジェクトのディレクトリに移動し、パスを通すコマンドを実行

$ cd <myproject>
$ export PATH=$PATH:./node_modules/.bin

gulpを実行

$ gulp

.bash_profile に追記しておく

$ echo 'export PATH=$PATH:./node_modules/.bin' >> ~/.bash_profile
47
36
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
47
36