MENU

Mac(Catalina)のNode.js環境でtfjs_binding.nodeのエラーが出たときの対処

どれだけ汎用性がある話かわからないしきちんと追いかけていないけど、一応メモがてら。

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:
$ xcode-select –install

https://github.com/tensorflow/tfjs/tree/master/tfjs-node

Upgrading to macOS Catalina may cause normal node-gyp installations to fail.

https://github.com/nodejs/node-gyp/blob/master/macOS_Catalina.md

実は最初にこの情報を見たときは、「えーやだなー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

これで無事起動するようになった。あーよかったよかった。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次