tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

【node】pyenvでpython3使ってたらnpm install sleep --save-devで`gyp ERR! configure error`と怒られたメモ

はじめに

nodeのネタではあるんですが、
pythonでエラーというパターン

悲しみ...

なにがやりたいか

nodeでsleepが使いたかっただけです。
つまり以下が実行したかっただけです

$ npm install sleep --save-dev

どんなエラーか

$ npm install sleep --save-dev

> sleep@6.1.0 install /Users/tweeeety/sample/node_modules/sleep
> node-gyp rebuild

gyp ERR! configure error
gyp ERR! stack Error: Command failed: /Users/tweeeety/.pyenv/shims/python -c import sys; print "%s.%s.%s" % sys.version_info[:3];

~ 省略 ~ 

原因

原因はpython3系なことが原因のようです。

ちょっと前にわけあって
たしかにpyenvでpython3にしていた...

$ python --version
Python 3.7.2

$ pyenv versions
  system
* 3.7.2 (set by /Users/tweeeety/.pyenv/version)

どう対応するか

ここまで書いていると言わずもがなですが、
pyenvでsystem pythonに戻してからnpm installしなおします

$ pyenv global system
$ pyenv versions
* system (set by /Users/tweeeety/.pyenv/version)
  3.7.2

$ npm install sleep --save-dev

> sleep@6.1.0 install /Users/tweeeety/sample/node_modules/sleep
> node-gyp rebuild

  CXX(target) Release/obj.target/node_sleep/module_init.o
  CXX(target) Release/obj.target/node_sleep/sleep_cpp11.o
  CXX(target) Release/obj.target/node_sleep/sleep_posix.o
  CXX(target) Release/obj.target/node_sleep/sleep_win.o
  SOLINK_MODULE(target) Release/node_sleep.node
npm WARN search_repository@1.0.0 No description
npm WARN search_repository@1.0.0 No repository field.

+ sleep@6.1.0
added 1 package from 1 contributor and audited 65 packages in 4.001s
found 0 vulnerabilities

おわり

pythonでnpmがエラーになるみたいな感じだと
最初はめっちゃわかりにくい...

pyenv localの方で設定すれば良かった説もありますが><