どれだけ汎用性がある話かわからないしきちんと追いかけていないけど、一応メモがてら。
Mac上のNode.js でTensorflowを扱おうと思って npm install したらうまくいかなくてハマった話です。
環境
- OS macOS Catalina (10.15.3)
- Node.js v12.16.1 (nvm 0.35.2上)
エラーメッセージ
% node .
internal/modules/cjs/loader.js:985
throw err;
^
Error: Cannot find module '/PATH/TO/node_modules/@tensorflow/tfjs-node/lib/napi-v5/tfjs_binding.node'
Require stack:
- /PATH/TO/node_modules/@tensorflow/tfjs-node/dist/index.js
- /PATH/TO/index.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:982:15)
at Function.Module._load (internal/modules/cjs/loader.js:864:27)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object.<anonymous> (/PATH/TO/node_modules/@tensorflow/tfjs-node/dist/index.js:46:16)
at Module._compile (internal/modules/cjs/loader.js:1158:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Module.require (internal/modules/cjs/loader.js:1044:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/PATH/TO/node_modules/@tensorflow/tfjs-node/dist/index.js',
'/PATH/TO/index.js'
]
}
気になったところ
@tensorflow/tfjs-node のインストール中に node-gyp で失敗したようなメッセージが出ている
調べたことと動くようになったやりかた
めちゃめちゃいろいろあたってみたけど、Node.jsはほぼ触るのが初めてなのでどうも勝手がわからない。上記の node-gyp のところはなんか怪しいなぁとは思っていて、下記の情報はちょっと気になってた。
Mac OS X Requires Xcode
If you do not have Xcode setup on your machine, please run the following commands:
https://github.com/tensorflow/tfjs/tree/master/tfjs-node
$ xcode-select –install
Upgrading to macOS Catalina may cause normal
https://github.com/nodejs/node-gyp/blob/master/macOS_Catalina.mdnode-gyp
installations to fail.
実は最初にこの情報を見たときは、「えーやだなーXcodeはインストールされてますよー」と思いつつも、念の為ということで最初のURLにある「xcode-select –install」は試してみたのだけど、これだと、うまく行っていない状態のままでも気づかないという罠が。で、2つめのURLに記載のある下記のコマンドで確認してみたら、コマンドラインツールが入っていないっぽかった。いやーん。
/usr/sbin/pkgutil --packages | grep CL
で、下記の情報を参考にして、Xcodeを一度削除してからコマンドラインツールをインストールした。
sudo rm -rf $(xcode-select -print-path)
xcode-select --install
https://qiita.com/hppRC/items/a01e33a5c890f7b2c125
これで無事起動するようになった。あーよかったよかった。
コメント