ndenv (Bash on Ubuntu on Wondows, BoW)
node.jsのインストール
$ sudo apt install nodejs nodejs-legacy
$ whish nodejs
/usr/bin/nodejs
$ nodejs
v4.2.6
$ which node
/usr/bin/node
$ node
v4.2.6
ndenvのインストール
$ git clone https://github.com/riywo/ndenv ~/.ndenv
$ set -U fish_user_paths $HOME/.ndenv/bin $fish_user_paths
$ which ndenv
/home/pyon/.ndenv/bin/ndenv
$ ndenv -v
ndenv 0.4.0-4-ga339097
node.jsをインストールするためにはnode-buildが必要。
$ git clone https://github.com/riywo/node-build.git (ndenv root)/plugins/node-build
netlifyではデプロイログを見る限り6.11.4のやうなので、其れを入れる。(npmは3.10.10の模樣)
$ ndenv install v6.11.4
$ ndenv versions
* system (set by /home/pyon/.ndenv/version)
v6.11.4
$ cd $project
$ ndenv local v6.11.4
$ ndenv versions
system
* v6.11.4 (set by /home/pyon/scm/diary/.node-version)
$ node -v
v6.11.4
$ npm -v
3.10.10
gulpのインストール
$ cd $project
$ npm install --save-dev gulp
$ ./node_modules/.bin/gulp -v
[23:45:16] CLI version 3.9.1
[23:45:16] Local version 3.9.1
ndenv & fishの問題
2017/10/17現在、ndenv init -
はfishに未對應だつた。
fishでanyenvが使えない謎が解けた!
— hagiyat (@hagiyat) January 25, 2017
使ってるxxenvが全てfishに対応している必要があるってことだったんだな〜。現状だとrbenvとpyenvくらいに絞らないとダメかも・・
使いたいなら、対象のxxenvたちにPR送らないとイカン😂
PRも出てゐた。
仕方がないのでconfig.fishに以下のコードを追記した。
diff --git a/config.fish b/config.fish
index 8973ea0..f277af2 100644
--- a/config.fish
+++ b/config.fish
@@ -70,6 +70,25 @@ if status --is-interactive
end
# }}}
+ # ndenv {{{
+ set -gx PATH $HOME/.ndenv/shims $PATH
+ # 'ndenv init -' がfishに対応していないので茲に内容を記載
+ # https://github.com/riywo/ndenv/pull/14
+ # https://github.com/riywo/ndenv/pull/15
+ # など、PRが出てゐるが取り込まれてゐない。
+ command ndenv rehash 2> /dev/null
+ function ndenv
+ set command $argv[1]
+ set -e argv[1]
+ switch "$command"
+ case rehash shell
+ source (ndenv "sh-$command" $argv|psub)
+ case '*'
+ command ndenv "$command" $argv
+ end
+ end
+ # }}}
+
# Remove duplicate elements from PATH {{{
set -gx PATH (for i in $PATH; echo $i; end | awk '!a[$0]++{print}')
# }}}