3

serialport を使用して node.js アプリを実行できました。現在、クロスプラットフォームで使用するために electron に移植しようとしています。「npm install serialport」の結果は次のとおりです。

  serialport@2.0.5 install /Users/ylh/0/electron/electron-quick-start-master/node_modules/serialport
  node-pre-gyp install --fallback-to-build

  CXX(target) Release/obj.target/serialport/src/serialport.o
  CXX(target) Release/obj.target/serialport/src/serialport_unix.o
  CXX(target) Release/obj.target/serialport/src/serialport_poller.o
  SOLINK_MODULE(target) Release/serialport.node
  COPY /Users/ylh/0/electron/electron-quick-start-master/node_modules/serialport/build/Release/node-v47-darwin-x64/serialport.node
  TOUCH Release/obj.target/action_after_build.stamp

  electron-prebuilt@0.34.3 postinstall /Users/ylh/0/electron/electron-quick-start-master/node_modules/electron-prebuilt
  node install.js

electron でアプリを実行すると、ポップアップ ウィンドウに次のように表示されます。

The app provided is not a valid electron app, please read the docs on how to write one:
https://github.com/atom/electron/tree/master/docs

Error: Cannot find module '/Users/ylh/0/electron/electron-quick-start-master/node_modules/serialport/build/Release/node-v46-darwin-x64/serialport.node'

案の定、node_modules ディレクトリのバージョンは node-v47-darwin-x64 です。npm install が v47 をビルドする理由はわかりませんが、実行する v46 を探します。

4

1 に答える 1