コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

ndenvだとバージョンを追加するたびにyarnを毎度インストールしないといけないのでhookでやる

便利なプラグインがあるので紹介メモ

環境

$ ndenv -v
ndenv 0.4.0-4-ga339097

やり方

ndenv-yarn-installという便利なものがあるので、それを使う。

まずはcloneして、ndenvの管理下のディレクトリに格納する

$ git clone https://github.com/pine/ndenv-yarn-install.git "$(ndenv root)/plugins/ndenv-yarn-install"

その後、ndenvをインストールしたときに一緒に動くようにfookに指定する

# シェルの再読込
$ exec $SHELL -l

# hookに設定されているか確認
$ ndenv hooks install

補足:hookとは

ndenvはrbenvを模しており、hookという機能がある。これはinstall毎に特定ディレクトリのプログラムを付随して実行してもらう機能。

ndenvの場合は、NDENV_HOOK_PATHディレクトリ配下のプログラムを実行する。なおディレクトリは下記の感じでよしなに設定される

hook_path="${NDENV_HOOK_PATH}:${NDENV_ROOT}/ndenv.d:/usr/local/etc/ndenv.d:/etc/ndenv.d:/usr/lib/ndenv/hooks"
for plugin_hook in "${NDENV_ROOT}/plugins/"*/etc/ndenv.d; do
  hook_path="${hook_path}:${plugin_hook}"
done
export NDENV_HOOK_PATH="$hook_path"

ndenv/ndenv at a33909737958ca807e4b1c2791a1f137fc489c3d · riywo/ndenvより

参考リンク