尝试运行“npm install windows-registry”

问题描述 投票:0回答:1

尝试安装 windows-registry 模块。根据

node-gyp
文档,安装 windows-registry 需要 python v2.7 和用于 Node-gyp 的 Visual Studio 构建工具,但是当我运行 python 版本 2.7 时,出现错误:

gyp ERR! find Python - version is 2.7.18 - should be >=3.6.0

所以我应该使用最新的Python。我认为 这个链接 需要在 npm 网站上更新。

  • 手动安装工具和配置:

安装 Visual C++ 构建环境:Visual Studio 构建工具(如果使用 VS2019 之前的版本,则使用“Visual C++ 构建工具”,否则使用“C++ 桌面开发”工作负载)或 Visual Studio Community(使用“C++ 桌面开发”工作负载)工作量)

python 已通过使用以下命令在nodejs(v17.9.1)`中安装和配置: (降级nodejs原因)

 npm config edit

这是我尝试时遇到的错误

npm install windows-registry

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN cleanup Failed to remove some directories [
npm WARN cleanup   [
npm WARN cleanup     'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules\\ffi',
npm WARN cleanup     [Error: EBUSY: resource busy or locked, rmdir 'C:\Users\kigir\Desktop\demo\group\node_modules\ffi'] {
npm WARN cleanup       errno: -4082,
npm WARN cleanup       code: 'EBUSY',
npm WARN cleanup       syscall: 'rmdir',
npm WARN cleanup       path: 'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules\\ffi'
npm WARN cleanup     }
npm WARN cleanup   ],
npm WARN cleanup   [
npm WARN cleanup     'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules',
npm WARN cleanup     [Error: EBUSY: resource busy or locked, rmdir 'C:\Users\kigir\Desktop\demo\group\node_modules\cpu-features'] {
npm WARN cleanup       errno: -4082,
npm WARN cleanup       code: 'EBUSY',
npm WARN cleanup       syscall: 'rmdir',
npm WARN cleanup       path: 'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules\\cpu-features'
npm WARN cleanup     }
npm WARN cleanup   ]
npm WARN cleanup ]
npm ERR! code 1
npm ERR! path C:\Users\kigir\Desktop\demo\group\node_modules\ref
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild
npm ERR! Building the projects in this solution one at a time. To enable parallel build, please add the "-m" switch.
npm ERR!
npm ERR!   binding.cc
npm ERR! C:\Users\kigir\Desktop\demo\group\node_modules\ref\src\binding.cc(222,28): error C2660: 'v8::Value::BooleanValue': function does not take 0 arguments [C:\Users\kigir\Desktop\demo\group\node_modules\ref\build\binding.vcxproj]
npm ERR! C:\Users\kigir\AppData\Local\node-gyp\Cache\17.9.1\include\node\v8-value.h(408,8): message : see declaration of 'v8::Value::BooleanValue' [C:\Users\kigir\Desktop\demo\group\node_modules\ref\build\binding.vcxproj]
npm ERR! C:\Users\kigir\Desktop\demo\group\node_modules\ref\src\binding.cc(222,28): message : while trying to match the argument list '()' [C:\Users\kigir\Desktop\demo\group\node_modules\ref\build\binding.vcxproj]
npm ERR! C:\Users\kigir\Desktop\demo\group\node_modules\ref\src\binding.cc(253,24): error C2660: 'v8::Value::Uint32Value': function does not take 0 arguments [C:\Users\kigir\Desktop\demo\group\node_modules\ref\build\binding.vcxproj]
npm ERR! C:\Users\kigir\AppData\Local\node-gyp\Cache\17.9.1\include\node\v8-value.h(416,41): message : see declaration of 'v8::Value::Uint32Value' [C:\Users\kigir\Desktop\demo\group\node_modules\ref\build\binding.vcxproj]
npm ERR! C:\Users\kigir\Desktop\demo\group\node_modules\ref\src\binding.cc(253,24): message : while trying to match the argument list '()' [C:\Users\kigir\Desktop\demo\group\node_modules\ref\build\binding.vcxproj]
...
(the error lines was huge, you can find the full txt down of this qoute)


npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | win32 | x64
npm ERR! gyp info find Python using Python version 3.11.4 found at "C:\Python311\python.exe"
npm ERR! gyp info find VS using VS2022 (17.6.33829.357) found at:
npm ERR! gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools"
npm ERR! gyp info find VS run with --verbose for detailed information
npm ERR! gyp info spawn C:\Python311\python.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'C:\\Users\\kigir\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'msvs',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules\\ref\\build\\config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\kigir\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\kigir\\AppData\\Local\\node-gyp\\Cache\\17.9.1\\include\\node\\common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=C:\\Users\\kigir\\AppData\\Local\\node-gyp\\Cache\\17.9.1',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\kigir\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\kigir\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\17.9.1\\\\<(target_arch)\\\\node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules\\ref',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules\\ref\\build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'build/binding.sln',
npm ERR! gyp info spawn args   '/clp:Verbosity=minimal',
npm ERR! gyp info spawn args   '/nologo',
npm ERR! gyp info spawn args   '/p:Configuration=Release;Platform=x64'
npm ERR! gyp info spawn args ]
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onExit (C:\Users\kigir\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:201:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:527:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
npm ERR! gyp ERR! System Windows_NT 10.0.19045
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\kigir\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd C:\Users\kigir\Desktop\demo\group\node_modules\ref
npm ERR! gyp ERR! node -v v17.9.1
npm ERR! gyp ERR! node-gyp -v v9.1.0
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\kigir\AppData\Local\npm-cache\_logs\2023-08-11T06_55_59_517Z-debug-0.log

(完整错误链接)

我尝试删除

node_modules
package-lock.json
使用这个问题,但我收到此错误:

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN cleanup Failed to remove some directories [
npm WARN cleanup   [
npm WARN cleanup     'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules\\ffi',
npm WARN cleanup     [Error: EBUSY: resource busy or locked, rmdir 'C:\Users\kigir\Desktop\demo\group\node_modules\ffi'] {
npm WARN cleanup       errno: -4082,
npm WARN cleanup       code: 'EBUSY',
npm WARN cleanup       syscall: 'rmdir',
npm WARN cleanup       path: 'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules\\ffi'
npm WARN cleanup     }
npm WARN cleanup   ],
npm WARN cleanup   [
npm WARN cleanup     'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules',
npm WARN cleanup     [Error: EBUSY: resource busy or locked, rmdir 'C:\Users\kigir\Desktop\demo\group\node_modules\ssh2'] {
npm WARN cleanup       errno: -4082,
npm WARN cleanup       code: 'EBUSY',
npm WARN cleanup       syscall: 'rmdir',
npm WARN cleanup       path: 'C:\\Users\\kigir\\Desktop\\demo\\group\\node_modules\\ssh2'
npm WARN cleanup     }
npm WARN cleanup   ]
npm WARN cleanup ]
npm ERR! code 1
npm ERR! path C:\Users\kigir\Desktop\demo\group\node_modules\ref
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild
npm ERR! Building the projects in this solution one at a time. To enable parallel build, please add the "-m" switch.
npm ERR!
npm ERR!   binding.cc

... (The rest of the errors provided in the last error box)

是的,我尝试在node-gyp中使用选项2安装Windows-build-tools,但仍然出现相同的错误。

我什至尝试手动运行此命令:

C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild

我得到的错误:

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.11.4 found at "C:\Python311\python.exe"
gyp info find VS using VS2022 (17.6.33829.357) found at:
gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools"
gyp info find VS run with --verbose for detailed information
gyp info spawn C:\Python311\python.exe
gyp info spawn args [
gyp info spawn args   'C:\\Users\\kigir\\AppData\\Roaming\\npm\\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\\kigir\\Desktop\\demo\\group\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\kigir\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\kigir\\AppData\\Local\\node-gyp\\Cache\\17.9.1\\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\\kigir\\AppData\\Local\\node-gyp\\Cache\\17.9.1',
gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\kigir\\AppData\\Roaming\\npm\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\kigir\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\17.9.1\\\\<(target_arch)\\\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\Users\\kigir\\Desktop\\demo\\group',
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\\kigir\\Desktop\\demo\\group\\build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp: binding.gyp not found (cwd: C:\Users\kigir\Desktop\demo\group) 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\kigir\AppData\Roaming\npm\node_modules\node-gyp\lib\configure.js:325:16)
gyp ERR! stack     at ChildProcess.emit (node:events:527:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Windows_NT 10.0.19045
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\kigir\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\kigir\Desktop\demo\group
gyp ERR! node -v v17.9.1
gyp ERR! node-gyp -v v9.4.0
gyp ERR! not ok

我想我错过了一点,但我看不到它。我很高兴能在这个问题上找到帮助,这个问题已经困扰了好几天了。我尝试过从不同的角度来看待这个问题并进行了研究,但我似乎仍然找不到解决方案。我希望找到一个可以帮助我找出我所缺少的东西的人。

node.js registry npm-install npm-package
1个回答
0
投票

其中一种方法是使用 regit,它比 windows-registry 有更好的支持 windows-registry 已经过时了4年了但是regedit是一个很长的支持包

这是一个更好的选择,因为:

  • 不需要依赖
  • 更多功能
  • 易于安装

注册表编辑链接

我希望您发现这个答案有帮助,但我很想知道其他人的意见

© www.soinside.com 2019 - 2024. All rights reserved.