Node.js Nodejs oracledb包:错误:';gyp&x27;失败,退出代码:1

Node.js Nodejs oracledb包:错误:';gyp&x27;失败,退出代码:1,node.js,oracle,npm,node-oracledb,Node.js,Oracle,Npm,Node Oracledb,我在Windows7上安装oracledb时遇到了很多问题。我得到以下错误: > oracledb@1.13.1 install C:\Users\alex.cauthen\Documents\CLA\cla_ui\node_module s\oracledb > node-gyp rebuild C:\Users\alex.cauthen\Documents\CLA\cla_ui\node_modules\oracledb>if not defined npm_confi

我在Windows7上安装oracledb时遇到了很多问题。我得到以下错误:

> oracledb@1.13.1 install C:\Users\alex.cauthen\Documents\CLA\cla_ui\node_module
s\oracledb
> node-gyp rebuild


C:\Users\alex.cauthen\Documents\CLA\cla_ui\node_modules\oracledb>if not defined
npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp
-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebu
ild )
Traceback (most recent call last):
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\gyp_m
ain.py", line 16, in <module>
    sys.exit(gyp.script_main())
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib
\gyp\__init__.py", line 545, in script_main
    return main(sys.argv[1:])
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib
\gyp\__init__.py", line 538, in main
    return gyp_main(args)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib
\gyp\__init__.py", line 514, in gyp_main
    options.duplicate_basename_check)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib
\gyp\__init__.py", line 98, in Load
    generator.CalculateVariables(default_variables, params)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib
\gyp\generator\msvs.py", line 1900, in CalculateVariables
    generator_flags.get('msvs_version', 'auto'))
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib
\gyp\MSVSVersion.py", line 434, in SelectVisualStudioVersion
    versions = _DetectVisualStudioVersions(version_map[version], 'e' in version)

KeyError: '2017'
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\Program Files\nodejs\node_module
s\npm\node_modules\node-gyp\lib\configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_proces
s.js:215:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodej
s\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\alex.cauthen\Documents\CLA\cla_ui\node_modules\oracledb
gyp ERR! node -v v6.10.2
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
cla_ui@1.0.0 C:\Users\alex.cauthen\Documents\CLA\cla_ui
`-- (empty)

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\ch
okidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@
1.1.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}
)
npm WARN cla_ui@1.0.0 No description
npm WARN cla_ui@1.0.0 No repository field.
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\
node_modules\\npm\\bin\\npm-cli.js" "install" "oracledb"
npm ERR! node v6.10.2
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
>oracledb@1.13.1安装C:\Users\alex.cauthen\Documents\CLA\CLA\u ui\node\u模块
s\oracledb
>节点gyp重建
C:\Users\alex.cauthen\Documents\CLA\CLA\u ui\node\u modules\oracledb>如果未定义
npm\u配置\u节点\u gyp(节点“C:\Program Files\nodejs\node\u modules\npm\bin\node gyp
-bin\\..\..\node\u modules\node gyp\bin\node gyp.js“重建)其他(节点”重建
国际法委员会(ild)
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\nodejs\node\u modules\npm\node\u modules\node gyp\gyp\gyp\u m
ain.py“,第16行,in
sys.exit(gyp.script_main())
文件“C:\Program Files\nodejs\node\u modules\npm\node\u modules\node gyp\gyp\pylib
\gyp\\ uuuuu init\ uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
回水干管(sys.argv[1:])
文件“C:\Program Files\nodejs\node\u modules\npm\node\u modules\node gyp\gyp\pylib
\gyp\\ uuuuu init\ uuuuuuu.py”,第538行,主视图
返回gyp_干管(args)
文件“C:\Program Files\nodejs\node\u modules\npm\node\u modules\node gyp\gyp\pylib
\gyp\\ uuuu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
选项。重复(基本名称检查)
文件“C:\Program Files\nodejs\node\u modules\npm\node\u modules\node gyp\gyp\pylib
\gyp\\ uuuuu init\ uuuuuuu.py”,第98行,负载中
generator.CalculateVariables(默认_变量、参数)
文件“C:\Program Files\nodejs\node\u modules\npm\node\u modules\node gyp\gyp\pylib
\gyp\generator\msvs.py”,第1900行,以可计算变量表示
generator_flags.get('msvs_version','auto'))
文件“C:\Program Files\nodejs\node\u modules\npm\node\u modules\node gyp\gyp\pylib
\gyp\MSVSVersion.py”,第434行,选择VisualStudioVersion
版本=_detectVisualStudio(版本映射[版本],“e”在版本中)
关键错误:“2017”
哎呀!配置错误
哎呀!堆栈错误:`gyp`失败,退出代码:1
哎呀!堆栈在ChildProcess.onCpExit(C:\Program Files\nodejs\NodeU模块
s\npm\node\u modules\node gyp\lib\configure.js:305:16)
哎呀!在emitTwo处堆栈(events.js:106:13)
哎呀!ChildProcess.emit处的堆栈(events.js:191:7)
哎呀!在Process.ChildProcess.\u handle.onexit(内部/child\u进程)处堆栈
s、 js:215:12)
哎呀!系统Windows\u NT 6.1.7601
哎呀!命令“C:\\Program Files\\nodejs\\node.exe”C:\\Program Files\\nodej
s\\node\u modules\\npm\\node\u modules\\node gyp\\bin\\node gyp.js“重建”
哎呀!cwd C:\Users\alex.cauthen\Documents\CLA\CLA\u ui\node\u modules\oracledb
哎呀!节点-v6.10.2
哎呀!节点gyp-v3.4.0
哎呀!不好
cla_ui@1.0.0C:\Users\alex.cauthen\Documents\CLA\CLA\u用户界面
`--(空)
npm WARN optional跳过可选依赖项:fsevents@^1.0.0(节点\u模块\ch
okidar\node\u模块\fsevents):
npm WARN notsup跳过可选依赖项:不支持fsevents的平台@
1.1.1:通缉{“os”:“达尔文”、“拱门”:“任何”}(当前:{“os”:“win32”、“拱门”:“x64”}
)
npm警告cla_ui@1.0.0没有描述
npm警告cla_ui@1.0.0没有存储库字段。
npm错误!Windows NT 6.1.7601
npm错误!argv“C:\\Program Files\\nodejs\\node.exe”C:\\Program Files\\nodejs\\
node\u modules\\npm\\bin\\npm cli.js“安装”oracledb
npm错误!节点v6.10.2
npm错误!npm v3.10.10
npm错误!代码失效循环
对于安装oracledb,我遵循以下演练:。以下是我所做的:

  • 我已安装visual studio 2012
  • 我已经安装了python 2.7
  • 我有节点6.10.2和npm 3.10.10
  • 我已经安装了oracle instant client basic和sdk,并将它们解压缩到C:\oracle\instantclient中的instantclient文件夹中
  • 路径环境。变量=C:\Program Files\nodejs\;C:\Python27\;C:\oracle\instantclient
  • 创建环境。变量OCI\u LIB\u DIR=C:\oracle\instantclient\sdk\LIB\msvc
  • 创建环境。变量OCI\U INC\U DIR=C:\oracle\instantclient\sdk\include
安装完所有这些之后,我做的最后一件事是执行
npm安装oracledb
。我不知道该怎么办。我已经浪费了很多时间调试/尝试安装这个。如果你看到我错过的任何东西,请告诉我。。。谢谢你的帮助

亚历克斯