nodist でプロジェクトごとに node のバージョンを固定する – Ewig Leere(Lab2)の続きです。
現象
前回は切り替えられることを確認して実際に動かさなかったのですが、動かしてみたらエラーが発生してしましました……。
> gulp
gulp[62020]: c:\ws\src\node_contextify.cc:655: Assertion `args[1]->IsString()' failed.
1: 00007FF66C9546CF napi_wrap+113583
2: 00007FF66C8FF7C6 v8::base::CPU::has_sse+66646
3: 00007FF66C8FFB41 v8::base::CPU::has_sse+67537
## 略
gulp
を実行しようとしたら思いっきりこけましたね。
対処
node_modules
やpackage-lock.json
は冒頭の方法を見付ける前の nodist でバージョンを手動で切り替えて使っていたものをそのまま使用しているので、特に問題はないはずですが……。
前回と今回の違いは、手動で nodist で node のバージョンを切り替えていたか、 .node-version
に頼って手動切り替えを行わなかったか、の違いのみです。
仕方ないので従来通り nodist で node のバージョンを切り替えます。
> nodist X.XX.X
X.XX.X
X.XX.X (global)
すると、普通に動きました。どうも .node-version
に頼るだけだとこける模様。
調査
一応上述で出たエラーで検索してみると、 node_modules
等を削除したり node のバージョンを切り替えたりしたら動いたということで、やはり原因は node のバージョンに起因するものと考えられます。
……おとなしく今まで通り手動で切り替えるのが吉、ですかねぇ。……うーん、残念。