質問: **発生している問題** Node.jsでFFIを使いたいのですが、`npm install ffi`としたときに、 ``` gyp Err: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe failed with exit code: 1 ``` とのエラーが表示されます。 windows build toolsはインストール済みです。 **環境** * Node 14.15.0 **補足** * コメントにて、Nodeのバージョン自体が対応していない可能性があるとのご指摘をいただき、`The current version is tested to run on node v0.6, v0.8, v0.9 and v0.10.`と書いてあるので、試しにv0.10に落としてみましたがやはり、 ``` gyp ERR! stack Error: `gyp` failed with exit code: 1 ``` とエラーが表示されます。
回答: `ffi`のサポートはNode11で終わってしまったようです。 Node12以降では`ffi-napi`が代替といっていいようです。https://www.npmjs.com/package/ffi-napi こちらを使えば、エラーは発生しませんでした。 `ffi-napi`はインストール方法も使い方も`ffi`と同じです。 **インストール方法** windowsの場合、 管理者権限でPowershellに`npm install --global windows-build-tools`でwindows build toolsをインストールします。 次に`npm -g install node-gyp`でnode-gypをインストールします。 次に、`npm install ffi-napi`と入力します。 **使い方** `var ffi = require('ffi-napi');` と書く以外は`ffi`と同じです。 `ref`を使う場合は代わりに`ref-napi`が対応するので別途インストールしてください。 参考サイト: