
久しぶりにElectroでserial接続したかったので、
npm i serialport
をして、ボーレートなどの情報を入れて動かしてみる。
が、動かない。。。
エラー内容
Error: No native build was found for platform=win32 arch=x64 runtime=electron abi=113 uv=1 libc=glibc node=18.12.1 electron=23.1.0 webpack=true
こんなのが出る。chatGPTに聞いてみたところ、「nodeやelectronのバージョンが違うんじゃね?」的なことを言われるので、バージョンを変えまくってみる、
が、動かない。。。。なにこれ。。
前に使ってた時はこんなこと無かったのに。
npm rebuild
ググってみると、「rebuildすれば動くよ!」的なことを書いている記事があったので、rebuildしてみる。
結果的に動かない。。
まじなにこれ。
解決方法
結論として、webpack.config.tsを変更すればよかった。
module.exports = {
target: 'electron-renderer',
serialport: 'commonjs serialport' ← これを入れる
resolve: {
extensions: ['.js', '.jsx']
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', '@babel/preset-react']
}
}
}
]
}
};
webpackの内容はプロジェクトによって異なってると思いますが、
serialport: 'commonjs serialport'
これを入れるだけでよい。
解決方法が分かれば大したこと無が、これを調べるのに半日もかかってしまった。。。