私はWindows 10 x64上にnodejs x86を持っており、このnpm i -g electron
を使ってnpmで電子をインストールし、外部デバイスを駆動するための.dllファイルを持っています。nodejs - ffiで電子を使用する
私はデスクトップアプリケーションを開発するために電子を使用しています。
私はjsからdll関数を呼び出す方法を見つけるために検索し、ffiパッケージを見つけました。最初の場所で、私はそれを検索し、私はgithubの上でこのissueを見つけた私は、ノードのx64をインストールしますが、私はこのエラー
App threw an error during load Error: %1 is not a valid Win32 application.
私のnodejsをアンインストールしてx86版に置き換えましたが、このエラーは私のプロジェクトに残っています。 npm npm i ffi
でffiをインストールすると、npmはソースファイルをダウンロードし、ホストアーキテクチャ(x64)でコンパイルしてからx64モードでビジュアルスタジオ2015で自己コンパイルするように見えます。 私はnpm i ffi --arch=ia32
でffiをインストールしようとしていますが、動作しませんでした。 私はdllソースファイルを持っていないので、特定のアーキテクチャ用に再構築することはできません。
どのように電子32bit版をffi 32bitで使用できますか?
ffiプレビルドバージョンをダウンロードしてプロジェクトに添付する方法はありますか?
電子版(x64およびx86)を使用し、同じ32ビットdllを使用したいと考えています。
64ビットは32ビットdllを処理できます。このエラーは、ファイルパスにスペースがある場合に発生します。だからC:\ Program Files \ ...はエラーを投げます。お役に立てれば。他の同じ問題はhttps://github.com/node-ffi/node-ffi/issues/258 https://github.com/node-ffi/node-ffi/issues/168とhttps:// githubです。 com/mapbox/node-sqlite3/issues/267 –
私はnodejsのインストールパスを変更するのですか?私のプロジェクトパスにスペースはありません。 – COP
nodejsのインストールパスは問題ありません。しかし、ホワイトスペースのない.dllへの道を試してみてください。 –