Mac
Node.js
環境構築
npm
nodenv

nodenvでいつも使うパッケージを自動でインストールする

nodenvを使ってnodeバージョン管理していて、それぞれのバージョンでnpm install -gしているとこっちのバージョンではパッケージが入っているがこっちのバージョンでは入っていない!というケースが発生したりすることがあると思います。

nodenvではnodenv-default-packagesというプラグインを利用することでnodeインストール時に自動的に指定したパッケージをインストールすることができます。


インストール

プラグインインストール用のディレクトリがなければ作成します。

mkdir -p "$(nodenv root)/plugins"

プラグインをリポジトリからクローンします。

git clone https://github.com/nodenv/nodenv-default-packages.git "$(nodenv root)/plugins/nodenv-default-packages"


default-packagesファイルの設定

インストールするパッケージ名を記載するdefault-packagesを作成します。

touch $(nodenv root)/default-packages

あとはこのdefault-packagesファイルにインストールしたいパッケージ名を記載しておけばnodenv install時にそのバージョンのnodeに対してパッケージをグローバルインストールしてくれるようになります。

以下記入例です。パッケージ名は改行で区切って記載します。

バージョン指定もなどもできます。

typescript

parcel-bundler <=1.12.0
# #の行はコメント行

ちなみに特定のバージョンにしかインストールされていないコマンドを叩いた場合は以下のようになります。

bash-3.2$ node -v

v8.10.0

bash-3.2$ parcel
nodenv: parcel: command not found

The `parcel' command exists in these Node versions:
10.15.3


インストール済みのnodeへのインストール

すでにインストールされているnode対してパッケージインストールを行いたい場合は、以下のようにバージョンを指定して実行します。

nodenv default-packages install 8.10

インストールされているすべてのnodeに対して適用する場合は--allオプションを使用します。

nodenv default-packages install --all