iohook
iohook copied to clipboard
Can't install/build iohook 0.9.3
Expected Behavior
Correct installation
Current Behavior
Installing
npm install iohook --save
npm ERR! code 1
npm ERR! path C:\...\Project\node_modules\iohook
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node install.js
npm ERR! Downloading prebuild for platform: iohook-v0.9.3-node-v102-win32-x64
Downloading prebuild.tar.gz
npm ERR! Error: GET https://github.com/wilix-team/iohook/releases/download/v0.9.3/iohook-v0.9.3-node-v102-win32-x64.tar.gz returned 404
npm ERR! Prebuild for current platform (iohook-v0.9.3-node-v102-win32-x64) not found!
npm ERR! Try to build for your platform manually:
npm ERR! # cd node_modules/iohook;
npm ERR! # npm run build
npm ERR!
npm ERR! C:\...\Project\node_modules\iohook\install.js:16
npm ERR! throw err;
npm ERR! ^
npm ERR!
npm ERR! [Error: ENOENT: no such file or directory, open 'C:\Users\ADMINI~1\AppData\Local\Temp\prebuild.tar.gz'] {
npm ERR! errno: -4058,
npm ERR! code: 'ENOENT',
npm ERR! syscall: 'open',
npm ERR! path: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\prebuild.tar.gz'
npm ERR! }
npm ERR!
npm ERR! Node.js v17.4.0
npm ERR! A complete log of this run can be found in:
npm ERR! AppData\Local\npm-cache\_logs\2022-02-05T07_56_19_898Z-debug.log
Building
> [email protected] build
> node build.js --upload=false
Building iohook for node v17.4.0>>>>
node:events:498
throw er; // Unhandled 'error' event
^
Error: spawn C:\...\Project\node_modules\iohook\node_modules\.bin\node-gyp.cmd ENOENT
at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:476:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
Emitted 'error' event on ChildProcess instance at:
at Process.ChildProcess._handle.onexit (node:internal/child_process:289:12)
at onErrorNT (node:internal/child_process:476:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
errno: -4058,
code: 'ENOENT',
syscall: 'spawn C:\\...\\Project\\node_modules\\iohook\\node_modules\\.bin\\node-gyp.cmd',
path: 'C:\\...\\Project\\node_modules\\.bin\\node-gyp.cmd',
spawnargs: [
'configure',
'rebuild',
'--target=17.4.0',
'--arch=x64',
'--v8_enable_pointer_compression=1',
'--msvs_version=2017'
]
}
Node.js v17.4.0
Possible Solution
I would like to know
Steps to Reproduce (for bugs)
npm install iohook --save npm run build
Context
I want to install iohook
Your Environment
- IOHook Version: 0.9.3
- Environment name and version (e.g. Chrome 39, node.js 5.4, electron 11.2): Chrome 98, node,js 17.4.0, electron 16.0.7
- Operating System and version (desktop or mobile): Windows 10 64-bit
The instructions are a little unclear, to manually build for now you must manually clone the full iohook repo, then npm install
and npm run build
. You can then copy the built binaries into your project's own node_modules/iohook/builds.
@marcelblum Ok, with npm run build
it successfully compiles the build node-v102-win32-x64
, but exactly what I want is the build electron-v99-win32-x64
.
I am trying to use the following command node build.js --runtime electron --version 16.0.7 --abi 99
from the Manual Build document in the repository and I am getting the following error:
Building iohook for electron v16.0.7>>>>
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp info find Python using Python version 3.10.2 found at "C:\Python310\python.exe"
gyp info find VS using VS2017 (15.9.28307.1778) found at:
gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools"
gyp info find VS run with --verbose for detailed information
(node:10884) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
(Use `node --trace-deprecation ...` to show where the warning was created)
gyp info spawn C:\Python310\python.exe
gyp info spawn args [
gyp info spawn args 'C:\\Users\\Administrator\\Documents\\PersonalProject\\node_modules\\iohook\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'msvs',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\Administrator\\Documents\\PersonalProject\\node_modules\\iohook\\build\\config.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\Administrator\\Documents\\PersonalProject\\node_modules\\iohook\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\Administrator\\AppData\\Local\\node-gyp\\Cache\\16.0.7\\include\\node\\common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=C:\\Users\\Administrator\\AppData\\Local\\node-gyp\\Cache\\16.0.7',
gyp info spawn args '-Dnode_gyp_dir=C:\\Users\\Administrator\\Documents\\PersonalProject\\node_modules\\iohook\\node_modules\\node-gyp',
gyp info spawn args '-Dnode_lib_file=C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\16.0.7\\\\<(target_arch)\\\\node.lib',
gyp info spawn args '-Dmodule_root_dir=C:\\Users\\Administrator\\Documents\\PersonalProject\\node_modules\\iohook',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'C:\\Users\\Administrator\\Documents\\PersonalProject\\node_modules\\iohook\\build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp: name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (C:\Users\Administrator\Documents\PersonalProject\node_modules\node-gyp\lib\configure.js:351:16)
gyp ERR! stack at ChildProcess.emit (node:events:520:28)
gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Windows_NT 10.0.19044
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Administrator\\Documents\\PersonalProject\\node_modules\\iohook\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "rebuild" "--target=16.0.7" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--v8_enable_pointer_compression=1" "--msvs_version=2017"
gyp ERR! cwd C:\Users\Administrator\Documents\PersonalProject\node_modules\iohook
gyp ERR! node -v v17.4.0
gyp ERR! node-gyp -v v7.1.2
gyp ERR! not ok
Error: Failed to build...
at ChildProcess.<anonymous> (C:\Users\Administrator\Documents\PersonalProject\node_modules\iohook\build.js:188:23)
I'm skipping something?
Hmm possibly related to https://github.com/nodejs/node-gyp/issues/2534 looks like some kind of Node version conflict. I can build manually without this openssl_fips
error on Windows 10 with Node 14.17.6, FWIW. Maybe try downgrading your Node version to latest LTS version 16.x.x?
Thanks to you, I was finally able to successfully build electron-v99-win32-x64
, I hope I won't have any problems having Node v16.13.2 LTS
instead of Node v17.4.0
, thanks!
Same here, I'll try cloning repo, building it and copying. npm ERR! Error: GET https://github.com/wilix-team/iohook/releases/download/v0.9.3/iohook-v0.9.3-node-v93-win32-x64.tar.gz returned 404 npm ERR! Prebuild for current platform (iohook-v0.9.3-node-v93-win32-x64) not found! npm ERR! Try to build for your platform manually:
Got it built but it has an error about Could not find Keyboard Map. Ran as admin as well just in-case.
Tried on USA and NZ keyboard languages.
PS C:\dev\ddcci\node> node main
refresh_locale_list [476]: GetKeyboardLayoutList(0, NULL) found 3 layouts.
refresh_locale_list [493]: Received 3 locales.
get_keyboard_layout_file [455]: RegOpenKeyEx failed to open key: "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00001409"!
refresh_locale_list [634]: Could not find keyboard map for locale 0000000004090409!
load_input_helper [866]: refresh_locale_list() found 2 locale(s).
https://github.com/wilix-team/iohook/issues/58
Added missing registry key? (Weird because I have the language/keyboard installed) 00001409
But still no luck it closes process after it says found 3 locale(s)
node main
refresh_locale_list [476]: GetKeyboardLayoutList(0, NULL) found 3 layouts.
refresh_locale_list [493]: Received 3 locales.
load_input_helper [866]: refresh_locale_list() found 3 locale(s).
Keyboard Layouts NZ Maori 00001409.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00001409]
"Layout Display Name"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,\
52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,\
00,32,00,5c,00,69,00,6e,00,70,00,75,00,74,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,35,00,32,00,35,00,33,00,00,00
"Layout File"="KBDMAORI.DLL"
"Layout Text"="NZ Aotearoa"
Still crashes on requiring the module, also kind of odd that it outputs to console output without being told to by listening to an event of some sort.