- Published on
Electronでtensorflowを使ったときの対象方法
Eelectronでtensorflowをつかおうとしたときに、下記のようなエラーがでて、 その対処をしたときの方法を紹介します。
electronでtensorflow
を使うとしたときに、下記のようなエラーがでました。
App threw an error during load Error: The Node.js native addon module (tfjs_binding.node) can not be found at path: /node_modules/@tensorflow/tfjs-node/lib/napi-v8/tfjs_binding.node. Please run command 'npm rebuild @tensorflow/tfjs-node --build-addon-from-source' to rebuild the native addon module.
このエラーが出た原因は、terminalで使っているnode
のバージョンと
electronで使っているnode
のバージョンが違っているために起きていました。
そのため、まずelectronのバージョンをprocess.versions
を下記のようにmain.js
におき確認しました。
//main.jsの中身 const { app, BrowserWindow, ipcMain } = require( 'electron' ); const { dialog } = require('electron') console.log(process.versions) .... ...
結果を見てみると、electronではnode
の16.5.0
を使っています。
➜ electron-example yarn run start
yarn run v1.22.10
$ electron .
{
node: '16.5.0',
v8: '9.4.146.16-electron.0',
uv: '1.41.0',
zlib: '1.2.11',
brotli: '1.0.9',
ares: '1.17.1',
modules: '98',
nghttp2: '1.42.0',
napi: '8',
llhttp: '6.0.2',
openssl: '1.1.1',
icu: '69.1',
unicode: '13.0',
electron: '15.1.1',
chrome: '94.0.4606.61'
}
そこで、node 16.5.0を使えるようにしたら、うごきました。 nodeの任意のバージョンを入れるのは、nodenvを用いて、かきのようにやりました。
nodenv install 16.5.0
そして、
nodev local 16.5.0