当前位置: 首页 > 后端技术 > Node.js

node-ffi从入门到放弃(安装)

时间:2023-04-03 22:37:40 Node.js

什么是节点ffi?node-ffi是node用来调用dll的库。当然还有node-ffi-napi。美食攻略暂时不发。今天先安装node-ffi,同时整理一些常见的问题Windows安装node-gyp安装node-ffi安装node-ffi之前需要先安装node-gyp,这是一个很容易说服的过程,请跟随我进入这个会被逼疯的世界:installwindows-build-toolsportalyarnglobaladdwindows-build-tools//ornpmi-gwindows-build-tools安装完成后打开命令行查看python版本看版本号是不是2.7.15,如果版本号不是2.7.xx,可以查看环境变量或者用户变量,把python版本提到前面的路径下或者加上。如果不想在环境变量或用户变量中设置,可以使用npmconfigsetPYTHON%PYTHON2%//oryarnconfigsetPYTHON%PYTHON2%不建议yarn和npm同时使用,会因为路径问题造成很多不必要的麻烦。这样你就可以愉快的使用node-ffi而不需要改变你的python版本,但是这种方法很容易让你忘记你已经配置了那些导致一些未知bug的npm或者yarn配置。说到这里,你是不是应该去看看npm配置列表,看看有没有需要删除的配置?!安装node-在安装gyp传送门之前,我们先把msvs_version的版本设置为2017npmconfigsetmsvs_version2017//oryarnconfigsetmsvs_version2017然后我们就可以愉快的安装node-gypnpmi-gnode-gyp//oryarnglobal添加node-gypnode-gyp编译包下载node-gypinstall--dist-url=https://npm.taobao.org/mirrors/node当这些准备工作做好后,我们就可以邀请我们的主角node-ffi来玩安装了node-ffinpmiffi--save//oryarn添加ffi--sav一般来说,node-ffi是一个electron,需要和ref一起吃掉。安装node-ffielectron安装node-ffi需要先编译后才能使用,所以需要安装electron-rebuildnpmielectron-rebuild//oryarnaddelectron-rebuild最好开始使用时经常出现各种问题cnpm.最常见的问题是没有在./node_modules/.bin文件下创建electron-rebuild.bat。如果编译node-ffi有问题,可以尝试以下方法>cdnode_modules/ffi>node-gyprebuild--runtime=electron--arch=ia32--target=2.0.18--dist-url=https://npm.taobao.org/mirrors/atom-shell参数说明arch编译成32位或64位。targetelectron的版本号是node_modules/electron/package.json中的版本号。dist-url下载源更多配置当然推荐使用node-ffi-napi,毕竟兼容node12,但是我至今没有安装成功,也没有找到原因,所以我不推荐分割线quickguide>npmi-gwindows-build-tools//下载windows-build-tools>npmconfigsetmsvs_version2017//设置msvs_version,同时可以使用npmconfiglist查看如果python指向版本2.7>npmi-gnode-gyp//下载node-gyp>npmiffi--save//electronadd>npmielectron-rebuild-D>electron-rebuild问题总结node.lib:fatalerrorLNK1106:文件无效或磁盘已满删除C:\\Users\\xxxx\\AppData\\Local\\node-gyp文件夹,运行node-gyprebuildgypinfo如果它以使用node-gyp@7.0.0的okgyp信息结尾,它会起作用gyp信息使用node@12.13.0|Win32|x64gyp信息使用位于“C:\Python27\python.exe”的Python版本2.7.17查找PythongyphttpGEThttps://nodejs.org/download/release/v12.13.0/node-v12.13.0-headers.tar.gzgyphttp200https://nodejs.org/download/release/v12.13.0/node-v12.13.0-headers.tar.gzgyphttpGEThttps://nodejs.org/download/release/v12.13.0/SHASUMS256.txtgyphttpGEThttps://nodejs.org/download/release/v12.13.0/win-arm64/node.libgyphttpGEThttps://nodejs.org/download/release/v12.13.0/win-x64/node.libgyphttpGEThttps://nodejs.org/download/release/v12.13.0/win-x86/node.libgyphttp200https://nodejs.org/download/release/v12.13.0/SHASUMS256.txtgyphttp404https://nodejs.org/download/release/v12.13.0/win-arm64/node.libgyphttp200https://nodejs.org/download/release/v12.13.0/win-x86/node.libgyphttp200https://nodejs.org/download/release/v12.13.0/win-x64/node.lib然后二次安装fiok