Appium appium 1.7.0 安装与疑问记

老马 · 2017年09月20日 · 最后由 老马 回复于 2018年06月22日 · 5244 次阅读

一 appium1.7.0

1.1 仍旧需要中国移动热点

初次用公司内网安装报了一些错误,看了下仍旧是组件下载访问超时异常。
所以我们仍需要我的老方法,开启你的手机的中国移动 4g 卡的 wifi 热点,电脑断其他任何网络,只连该热点的方法

1.2 python 版本问题

我电脑上的是 python36 版本。安装到一半报了如下错误

D:\nodejs\node-global\node_modules\appium\node_modules\heapdump>if not defined npm_config_node_gyp (node "D:\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Python executable "D:\python\python.EXE" is v3.6.2, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack    at failPythonVersion (D:\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:454:14)
gyp ERR! stack    at D:\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:443:9
gyp ERR! stack    at ChildProcess.exithandler (child_process.js:197:7)
gyp ERR! stack    at emitTwo (events.js:106:13)
gyp ERR! stack    at ChildProcess.emit (events.js:191:7)
gyp ERR! stack    at maybeClose (internal/child_process.js:877:16)
gyp ERR! stack    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "D:\\nodejs\\node.exe" "D:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\nodejs\node-global\node_modules\appium\node_modules\heapdump
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

看日志说应该是,需要 Python >= v2.5.0 & < 3.0.0 之间版本才可编译。
于是乎,参考该文 http://www.cnblogs.com/thunderLL/p/6643022.html 设置了下 python3 和 python2 共存。

1.3 安装成功日志

接下来弄好 python3 和 python2 共存,继续安装,日志如下

C:\Users\cmd>npm i appium -g
D:\nodejs\node-global\appium -> D:\nodejs\node-global\node_modules\appium\build\lib\main.js

> appium-chromedriver@3.0.1 install D:\nodejs\node-global\node_modules\appium\node_modules\appium-chromedriver
> node install-npm.js

info Chromedriver Install Installing Chromedriver version '2.30' for platform 'win' and architecture '32'
info Chromedriver Install Opening temp file to write chromedriver_win32 to...
info Chromedriver Install Downloading https://chromedriver.storage.googleapis.com/2.30/chromedriver_win32.zip...
info Chromedriver Install Writing binary content to C:\Users\cmd\AppData\Local\Temp\2017820-2916-1z0pl0q.ycqns1c3di\chromedriver_win32.zip...
info Chromedriver Install Extracting C:\Users\cmd\AppData\Local\Temp\2017820-2916-1z0pl0q.ycqns1c3di\chromedriver_win32.zip to C:\Users\cmd\AppData\Local\Temp\2017820-2916-1z0pl0q.ycqns1c3di\chromedriver_win32
info Chromedriver Install Creating D:\nodejs\node-global\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win...
info Chromedriver Install Copying unzipped binary, reading from C:\Users\cmd\AppData\Local\Temp\2017820-2916-1z0pl0q.ycqns1c3di\chromedriver_win32\chromedriver.exe...
info Chromedriver Install Writing to D:\nodejs\node-global\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\chromedriver.exe...
info Chromedriver Install D:\nodejs\node-global\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\chromedriver.exe successfully put in place

> appium-selendroid-driver@1.6.2 install D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver
> node ./bin/install.js

dbug AndroidDriver Getting Java version
info AndroidDriver Java version is: 1.8.0_121
info Selendroid Ensuring D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid\download exists
info Selendroid Downloading Selendroid standalone server version 0.17.0 from http://repo1.maven.org/maven2/io/selendroid/selendroid-standalone/0.17.0/selendroid-standalone-0.17.0-with-dependencies.jar --> D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid\download\selendroid-server-7cf7163ac47f1c46eff95b62f78b58c1dabdec534acc6632da3784739f6e9d82.jar
info Selendroid Writing binary content to D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid\download\selendroid-server.jar.tmp
info Selendroid Selendroid standalone server downloaded
info Selendroid Determining AndroidManifest location
info Selendroid Determining server apk location
info Selendroid Extracting manifest and apk to D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid\download
info Selendroid Copying manifest and apk to D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid
info Selendroid Cleaning up temp files
info Selendroid Fixing AndroidManifest icon bug

> appium-uiautomator2-driver@0.6.3 install D:\nodejs\node-global\node_modules\appium\node_modules\appium-uiautomator2-driver
> node ./bin/install.js

dbug AndroidDriver Getting Java version
info AndroidDriver Java version is: 1.8.0_121
info UiAutomator2 downloading UiAutomator2 Server APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-v0.1.8.apk
info UiAutomator2 downloading UiAutomator2 Server test APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-debug-androidTest.apk
Error: connect ETIMEDOUT 52.216.81.104:443
UiAutomator2 setup files do not yet exist, waiting...
info UiAutomator2 downloading UiAutomator2 Server APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-v0.1.8.apk
info UiAutomator2 downloading UiAutomator2 Server test APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-debug-androidTest.apk
Error: connect ETIMEDOUT 52.216.81.104:443
UiAutomator2 setup files do not yet exist, waiting...
info UiAutomator2 downloading UiAutomator2 Server APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-v0.1.8.apk
info UiAutomator2 downloading UiAutomator2 Server test APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-debug-androidTest.apk
Error: connect ETIMEDOUT 52.216.81.104:443
UiAutomator2 setup files do not yet exist, waiting...
info UiAutomator2 downloading UiAutomator2 Server APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-v0.1.8.apk
info UiAutomator2 downloading UiAutomator2 Server test APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-debug-androidTest.apk
Error: connect ETIMEDOUT 52.216.81.104:443
UiAutomator2 setup files do not yet exist, waiting...
info UiAutomator2 downloading UiAutomator2 Server APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-v0.1.8.apk
info UiAutomator2 downloading UiAutomator2 Server test APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-debug-androidTest.apk
Error: connect ETIMEDOUT 52.216.81.104:443
UiAutomator2 setup files do not yet exist, waiting...
info UiAutomator2 downloading UiAutomator2 Server APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-v0.1.8.apk
info UiAutomator2 downloading UiAutomator2 Server test APK v0.1.8 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.1.8/appium-uiautomator2-server-debug-androidTest.apk
Error: connect ETIMEDOUT 52.216.81.104:443
Tried too many times to install UiAutomator2, failing
Original error: Error: connect ETIMEDOUT 52.216.81.104:443
(node:18044) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Unable to import and run the installer. If you're running from source, run `gulp transpile` and then re-run `npm install`

> appium-windows-driver@0.5.0 install D:\nodejs\node-global\node_modules\appium\node_modules\appium-windows-driver
> node install-npm.js

info WinAppDriver Verifying WinAppDriver is installed with correct checksum
info WinAppDriver WinAppDriver.exe doesn't exist at the correct version, setting up
You are not an administrator; please reinstall as admin
WinAppDriver was not installed; please check your system and re-run npm install if you need WinAppDriver

> heapdump@0.3.9 install D:\nodejs\node-global\node_modules\appium\node_modules\heapdump
> node-gyp rebuild


D:\nodejs\node-global\node_modules\appium\node_modules\heapdump>if not defined npm_config_node_gyp (node "D:\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3)
 如果将该组件安装到了其他位置,请将其位置添加到系统路径中。 [D:\nodejs\node-global\node_modules\appium\node_modules\heapdump\build\binding.sln]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (D:\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
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_process.js:215:12)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "D:\\nodejs\\node.exe" "D:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\nodejs\node-global\node_modules\appium\node_modules\heapdump
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

> async-lock@1.0.0 postinstall D:\nodejs\node-global\node_modules\appium\node_modules\async-lock
>

D:\nodejs\node-global
`-- appium@1.7.0
  +-- accepts@1.3.4
  +-- adbkit@2.11.0
  | +-- bluebird@2.9.34
  | +-- debug@2.6.8
  | `-- ms@2.0.0
  +-- adbkit-logcat@1.1.0
  +-- adbkit-monkey@1.0.1
  | `-- async@0.2.10
  +-- aggregate-error@1.0.0
  +-- ajv@4.11.8
  +-- amdefine@1.0.1
  +-- ansi@0.3.1
  +-- ansi-regex@2.1.1
  +-- appium-adb@2.28.5
  | `-- bluebird@3.5.0
  +-- appium-android-bootstrap@2.9.4
  | +-- lodash@3.10.1
  | +-- source-map@0.1.32
  | `-- source-map-support@0.3.3
  +-- appium-android-driver@1.26.5
  | +-- bluebird@3.5.0
  | +-- lodash@3.10.1
  | +-- source-map@0.1.32
  | `-- source-map-support@0.3.3
  +-- appium-android-ime@2.0.0
  +-- appium-base-driver@2.15.3
  | `-- request-promise@4.2.1
  |   `-- bluebird@3.5.0
  +-- appium-chromedriver@3.0.1
  | +-- lodash@3.10.1
  | +-- source-map@0.1.32
  | `-- source-map-support@0.3.3
  +-- appium-espresso-driver@1.0.0-beta.3
  | +-- ansi-regex@3.0.0
  | +-- bluebird@3.5.0
  | +-- camelcase@4.1.0
  | +-- find-up@2.1.0
  | +-- is-fullwidth-code-point@2.0.0
  | +-- load-json-file@2.0.0
  | +-- os-locale@2.1.0
  | +-- path-type@2.0.0
  | +-- read-pkg@2.0.0
  | +-- read-pkg-up@2.0.0
  | +-- request-promise@4.2.1
  | +-- string-width@2.1.1
  | +-- strip-ansi@4.0.0
  | +-- strip-bom@3.0.0
  | +-- which-module@2.0.0
  | +-- yargs@8.0.2
  | `-- yargs-parser@7.0.0
  +-- appium-fake-driver@0.2.0
  | +-- bluebird@3.5.0
  | +-- camelcase@2.1.1
  | +-- lodash@3.10.1
  | `-- yargs@3.32.0
  +-- appium-ios-driver@1.27.2
  | +-- ansi-regex@3.0.0
  | +-- camelcase@4.1.0
  | +-- find-up@2.1.0
  | +-- is-fullwidth-code-point@2.0.0
  | +-- load-json-file@2.0.0
  | +-- os-locale@2.1.0
  | +-- path-type@2.0.0
  | +-- read-pkg@2.0.0
  | +-- read-pkg-up@2.0.0
  | +-- request-promise@4.2.1
  | | `-- bluebird@3.5.0
  | +-- string-width@2.1.1
  | +-- strip-ansi@4.0.0
  | +-- strip-bom@3.0.0
  | +-- which-module@2.0.0
  | +-- xpath@0.0.24
  | +-- yargs@8.0.2
  | `-- yargs-parser@7.0.0
  +-- appium-ios-simulator@2.2.5
  +-- appium-mac-driver@1.0.2
  | +-- camelcase@2.1.1
  | +-- punycode@2.1.0
  | +-- request-promise@3.0.0
  | | `-- bluebird@3.5.0
  | +-- source-map@0.1.32
  | +-- source-map-support@0.3.3
  | `-- yargs@3.32.0
  +-- appium-remote-debugger@3.6.0
  | +-- bluebird@3.5.0
  | `-- request-promise@4.2.1
  +-- appium-selendroid-driver@1.6.2
  | +-- bluebird@3.5.0
  | +-- camelcase@2.1.1
  | +-- lodash@3.10.1
  | +-- request-promise@4.2.1
  | +-- source-map@0.1.32
  | +-- source-map-support@0.3.3
  | `-- yargs@3.32.0
  +-- appium-support@2.8.3
  +-- appium-uiautomator@1.1.2
  | +-- source-map@0.1.32
  | `-- source-map-support@0.3.3
  +-- appium-uiautomator2-driver@0.6.3
  | +-- ansi-regex@3.0.0
  | +-- camelcase@4.1.0
  | +-- find-up@2.1.0
  | +-- is-fullwidth-code-point@2.0.0
  | +-- load-json-file@2.0.0
  | +-- lodash@3.10.1
  | +-- os-locale@2.1.0
  | +-- path-type@2.0.0
  | +-- read-pkg@2.0.0
  | +-- read-pkg-up@2.0.0
  | +-- request-promise@4.2.1
  | | `-- bluebird@3.5.0
  | +-- source-map@0.1.32
  | +-- source-map-support@0.3.3
  | +-- string-width@2.1.1
  | +-- strip-ansi@4.0.0
  | +-- strip-bom@3.0.0
  | +-- which-module@2.0.0
  | +-- yargs@8.0.2
  | `-- yargs-parser@7.0.0
  +-- appium-uiautomator2-server@0.1.8
  +-- appium-unlock@0.1.1
  +-- appium-windows-driver@0.5.0
  | +-- camelcase@2.1.1
  | +-- punycode@2.1.0
  | +-- request-promise@3.0.0
  | | `-- bluebird@3.5.0
  | +-- source-map@0.1.32
  | +-- source-map-support@0.3.3
  | `-- yargs@3.32.0
  +-- appium-xcode@3.3.1
  | +-- lodash@3.10.1
  | +-- source-map@0.1.32
  | `-- source-map-support@0.3.3
  +-- appium-xcuitest-driver@2.49.0
  | +-- ansi-regex@3.0.0
  | +-- bluebird@3.5.0
  | +-- camelcase@4.1.0
  | +-- find-up@2.1.0
  | +-- is-fullwidth-code-point@2.0.0
  | +-- load-json-file@2.0.0
  | +-- os-locale@2.1.0
  | +-- path-type@2.0.0
  | +-- read-pkg@2.0.0
  | +-- read-pkg-up@2.0.0
  | +-- request-promise@4.2.1
  | +-- string-width@2.1.1
  | +-- strip-ansi@4.0.0
  | +-- strip-bom@3.0.0
  | +-- which-module@2.0.0
  | +-- yargs@8.0.2
  | `-- yargs-parser@7.0.0
  +-- appium-youiengine-driver@1.0.13
  +-- archiver@1.3.0
  | `-- glob@7.1.2
  +-- archiver-utils@1.3.0
  | `-- glob@7.1.2
  +-- are-we-there-yet@1.1.4
  +-- argparse@1.0.9
  +-- array-filter@0.0.1
  +-- array-flatten@1.1.1
  +-- array-map@0.0.0
  +-- array-reduce@0.0.0
  +-- arrify@1.0.1
  +-- asn1@0.2.3
  +-- assert-plus@0.2.0
  +-- assertion-error@1.0.2
  +-- async@2.5.0
  +-- async-listener@0.6.7
  | `-- semver@5.4.1
  +-- async-lock@1.0.0
  +-- asyncbox@2.3.1
  | +-- babel-runtime@5.5.5
  | +-- chai@3.5.0
  | +-- chai-as-promised@5.3.0
  | +-- core-js@0.9.18
  | +-- lodash@3.10.1
  | +-- source-map@0.1.32
  | `-- source-map-support@0.3.3
  +-- asynckit@0.4.0
  +-- aws-sign2@0.6.0
  +-- aws4@1.6.0
  +-- babel-runtime@5.8.24
  +-- balanced-match@1.0.0
  +-- base64-js@0.0.8
  +-- basic-auth@1.1.0
  +-- bcrypt-pbkdf@1.0.1
  +-- big-integer@1.6.25
  +-- bignumber.js@2.4.0
  +-- bl@1.2.1
  +-- bluebird@2.11.0
  +-- bmp-js@0.0.3
  +-- body-parser@1.18.1
  | +-- debug@2.6.8
  | `-- ms@2.0.0
  +-- boom@2.10.1
  +-- bplist-creator@0.0.6
  +-- bplist-parser@0.1.1
  +-- brace-expansion@1.1.8
  +-- buffer-crc32@0.2.13
  +-- buffer-equal@0.0.1
  +-- bufferpack@0.0.6
  +-- builtin-modules@1.1.1
  +-- bytes@3.0.0
  +-- camelcase@3.0.0
  +-- caseless@0.12.0
  +-- charenc@0.0.2
  +-- clean-stack@1.3.0
  +-- cliui@3.2.0
  +-- cls-bluebird@1.1.3
  +-- co@4.6.0
  +-- code-point-at@1.1.0
  +-- colors@1.1.2
  +-- combined-stream@1.0.5
  +-- commander@2.9.0
  +-- compress-commons@1.2.0
  +-- concat-map@0.0.1
  +-- concat-stream@1.6.0
  +-- content-disposition@0.5.2
  +-- content-type@1.0.4
  +-- continuation-local-storage@3.2.0
  +-- cookie@0.3.1
  +-- cookie-signature@1.0.6
  +-- core-js@1.2.7
  +-- core-util-is@1.0.2
  +-- crc@3.4.4
  +-- crc32-stream@2.0.0
  +-- cross-spawn@5.1.0
  +-- cross-spawn-async@2.2.5
  +-- crypt@0.0.2
  +-- cryptiles@2.0.5
  +-- cycle@1.0.3
  +-- dashdash@1.14.1
  | `-- assert-plus@1.0.0
  +-- dateformat@2.0.0
  +-- debug@2.2.0
  +-- decamelize@1.2.0
  +-- deep-eql@0.1.3
  | `-- type-detect@0.1.1
  +-- delayed-stream@1.0.0
  +-- delegates@1.0.0
  +-- depd@1.1.1
  +-- destroy@1.0.4
  +-- dom-walk@0.1.1
  +-- ecc-jsbn@0.1.1
  +-- ee-first@1.1.1
  +-- emitter-listener@1.0.1
  | `-- shimmer@1.0.0
  +-- encodeurl@1.0.1
  +-- end-of-stream@1.4.0
  +-- error-ex@1.3.1
  +-- es6-error@2.1.1
  +-- es6-mapify@1.0.0
  +-- es6-promise@3.3.1
  +-- escape-html@1.0.3
  +-- etag@1.8.1
  +-- execa@0.7.0
  +-- exif-parser@0.1.12
  +-- express@4.15.4
  | +-- debug@2.6.8
  | +-- ms@2.0.0
  | `-- qs@6.5.0
  +-- extend@3.0.1
  +-- extract-zip@1.6.5
  | +-- mkdirp@0.5.0
  | `-- yauzl@2.4.1
  +-- extsprintf@1.3.0
  +-- eyes@0.1.8
  +-- fd-slicer@1.0.1
  +-- file-type@3.9.0
  +-- finalhandler@1.0.5
  | +-- debug@2.6.8
  | `-- ms@2.0.0
  +-- find-up@1.1.2
  +-- fkill@5.1.0
  | `-- execa@0.8.0
  +-- for-each@0.3.2
  +-- forever-agent@0.6.1
  +-- form-data@2.1.4
  +-- forwarded@0.1.2
  +-- fresh@0.5.0
  +-- fs.realpath@1.0.0
  +-- gauge@1.2.7
  +-- get-caller-file@1.0.2
  +-- get-stream@3.0.0
  +-- getpass@0.1.7
  | `-- assert-plus@1.0.0
  +-- glob@6.0.4
  +-- global@4.3.2
  +-- graceful-fs@4.1.11
  +-- graceful-readlink@1.0.1
  +-- har-schema@1.0.5
  +-- har-validator@4.2.1
  +-- has-unicode@2.0.1
  +-- hawk@3.1.3
  +-- hoek@2.16.3
  +-- hosted-git-info@2.5.0
  +-- http-errors@1.6.2
  +-- http-signature@1.1.1
  +-- iconv-lite@0.4.19
  +-- indent-string@3.2.0
  +-- inflight@1.0.6
  +-- inherits@2.0.3
  +-- invert-kv@1.0.0
  +-- io.appium.settings@2.3.0
  +-- ip-regex@1.0.3
  +-- ipaddr.js@1.4.0
  +-- is-arrayish@0.2.1
  +-- is-bluebird@1.0.2
  +-- is-buffer@1.1.5
  +-- is-builtin-module@1.0.0
  +-- is-fullwidth-code-point@1.0.0
  +-- is-function@1.0.1
  +-- is-number-like@1.0.8
  +-- is-os@1.0.0
  +-- is-stream@1.1.0
  +-- is-typedarray@1.0.0
  +-- is-utf8@0.2.1
  +-- isarray@1.0.0
  +-- isexe@2.0.0
  +-- isstream@0.1.2
  +-- jimp@0.2.28
  +-- jpeg-js@0.2.0
  +-- js2xmlparser2@0.2.0
  +-- jsbn@0.1.1
  +-- json-schema@0.2.3
  +-- json-stable-stringify@1.0.1
  +-- json-stringify-safe@5.0.1
  +-- jsonify@0.0.0
  +-- jsprim@1.4.1
  | `-- assert-plus@1.0.0
  +-- lazystream@1.0.0
  +-- lcid@1.0.0
  +-- load-bmfont@1.3.0
  +-- load-json-file@1.1.0
  +-- locate-path@2.0.0
  | `-- path-exists@3.0.0
  +-- lodash@4.17.4
  +-- lodash.isfinite@3.3.2
  +-- lodash.pad@4.5.1
  +-- lodash.padend@4.6.1
  +-- lodash.padstart@4.6.1
  +-- lru-cache@4.1.1
  +-- md5@2.2.1
  +-- md5-file@2.0.7
  +-- media-typer@0.3.0
  +-- mem@1.1.0
  +-- merge-descriptors@1.0.1
  +-- method-override@2.3.9
  | +-- debug@2.6.8
  | `-- ms@2.0.0
  +-- methods@1.1.2
  +-- mime@1.3.4
  +-- mime-db@1.30.0
  +-- mime-types@2.1.17
  +-- mimic-fn@1.1.0
  +-- min-document@2.19.0
  +-- minimatch@3.0.4
  +-- minimist@0.0.8
  +-- mkdirp@0.5.1
  +-- morgan@1.8.2
  | +-- debug@2.6.8
  | `-- ms@2.0.0
  +-- ms@0.7.1
  +-- mv@2.1.1
  | `-- rimraf@2.4.5
  +-- nan@2.7.0
  +-- ncp@2.0.0
  +-- negotiator@0.6.1
  +-- net@1.0.2
  +-- node-forge@0.7.1
  +-- node-idevice@0.1.6
  +-- node-simctl@3.11.1
  +-- normalize-package-data@2.4.0
  +-- normalize-path@2.1.1
  +-- npm-run-path@2.0.2
  +-- npmlog@2.0.4
  +-- number-is-nan@1.0.1
  +-- oauth-sign@0.8.2
  +-- object-assign@4.1.1
  +-- on-finished@2.3.0
  +-- on-headers@1.0.1
  +-- once@1.4.0
  +-- openssl-wrapper@0.3.4
  +-- options@0.0.6
  +-- os-locale@1.4.0
  +-- os-tmpdir@1.0.2
  +-- p-finally@1.0.0
  +-- p-limit@1.1.0
  +-- p-locate@2.0.0
  +-- parse-bmfont-ascii@1.0.6
  +-- parse-bmfont-binary@1.0.6
  +-- parse-bmfont-xml@1.1.3
  +-- parse-headers@2.0.1
  +-- parse-json@2.2.0
  +-- parseurl@1.3.2
  +-- path@0.12.7
  | `-- process@0.11.10
  +-- path-exists@2.1.0
  +-- path-is-absolute@1.0.1
  +-- path-key@2.0.1
  +-- path-to-regexp@0.1.7
  +-- path-type@1.1.0
  +-- pem@1.11.0
  +-- pend@1.2.0
  +-- performance-now@0.2.0
  +-- pify@2.3.0
  +-- pinkie@2.0.4
  +-- pinkie-promise@2.0.1
  +-- pixelmatch@4.0.2
  +-- plist@1.2.0
  +-- pngjs@3.3.0
  +-- portfinder@1.0.13
  | `-- async@1.5.2
  +-- portscanner@2.1.1
  | `-- async@1.5.2
  +-- process@0.5.2
  +-- process-nextick-args@1.0.7
  +-- proxy-addr@1.1.5
  +-- pseudomap@1.0.2
  +-- punycode@1.4.1
  +-- qs@6.5.1
  +-- querystring@0.2.0
  +-- range-parser@1.2.0
  +-- raw-body@2.3.2
  +-- read-chunk@1.0.1
  +-- read-pkg@1.1.0
  +-- read-pkg-up@1.0.1
  +-- readable-stream@2.3.3
  +-- remove-trailing-separator@1.1.0
  +-- request@2.81.0
  | `-- qs@6.4.0
  +-- request-promise@1.0.2
  | `-- lodash@3.10.1
  +-- request-promise-core@1.1.1
  +-- require-directory@2.1.1
  +-- require-main-filename@1.0.1
  +-- rimraf@2.6.2
  | `-- glob@7.1.2
  +-- rsvp@3.6.2
  +-- safari-launcher@2.0.5
  +-- safe-buffer@5.1.1
  +-- sax@1.2.4
  +-- semver@4.3.6
  +-- semver-compare@1.0.0
  +-- send@0.15.4
  | +-- debug@2.6.8
  | `-- ms@2.0.0
  +-- serve-favicon@2.4.4
  | +-- fresh@0.5.1
  | `-- ms@2.0.0
  +-- serve-static@1.12.4
  +-- set-blocking@2.0.0
  +-- setprototypeof@1.0.3
  +-- shebang-command@1.2.0
  +-- shebang-regex@1.0.0
  +-- shell-quote@1.6.1
  +-- shimmer@1.1.0
  +-- signal-exit@3.0.2
  +-- sntp@1.0.9
  +-- source-map@0.5.7
  +-- source-map-support@0.4.18
  +-- spdx-correct@1.0.2
  +-- spdx-expression-parse@1.0.4
  +-- spdx-license-ids@1.2.2
  +-- split@0.3.3
  +-- sprintf-js@1.0.3
  +-- sshpk@1.13.1
  | `-- assert-plus@1.0.0
  +-- stack-trace@0.0.10
  +-- statuses@1.3.1
  +-- stealthy-require@1.1.1
  +-- stream-buffers@2.2.0
  +-- stream-to@0.2.2
  +-- stream-to-buffer@0.1.0
  +-- string-width@1.0.2
  +-- string_decoder@1.0.3
  +-- stringstream@0.0.5
  +-- strip-ansi@3.0.1
  +-- strip-bom@2.0.0
  +-- strip-eof@1.0.0
  +-- tar-stream@1.5.4
  +-- taskkill@2.0.0
  | `-- execa@0.1.1
  +-- teen_process@1.10.0
  | +-- source-map@0.1.32
  | `-- source-map-support@0.2.10
  +-- temp@0.8.3
  | `-- rimraf@2.2.8
  +-- through@2.3.8
  +-- tinycolor2@1.4.1
  +-- tough-cookie@2.3.2
  +-- traceur@0.0.111
  | +-- glob@5.0.15
  | `-- source-map-support@0.2.10
  |   `-- source-map@0.1.32
  +-- trim@0.0.1
  +-- tunnel-agent@0.6.0
  +-- tweetnacl@0.14.5
  +-- type-detect@1.0.0
  +-- type-is@1.6.15
  +-- typedarray@0.0.6
  +-- ultron@1.0.2
  +-- unpipe@1.0.0
  +-- url@0.11.0
  | `-- punycode@1.3.2
  +-- url-regex@3.2.0
  +-- utf7@1.0.2
  | `-- semver@5.3.0
  +-- util@0.10.3
  | `-- inherits@2.0.1
  +-- util-deprecate@1.0.2
  +-- utils-merge@1.0.0
  +-- uuid@3.1.0
  +-- uuid-js@0.7.5
  +-- validate-npm-package-license@3.0.1
  +-- validate.js@0.9.0
  +-- vary@1.1.1
  +-- verror@1.10.0
  | `-- assert-plus@1.0.0
  +-- walkdir@0.0.11
  +-- which@1.3.0
  +-- which-module@1.0.0
  +-- window-size@0.1.4
  +-- winston@2.3.1
  | +-- async@1.0.0
  | `-- colors@1.0.3
  +-- wrap-ansi@2.1.0
  +-- wrappy@1.0.2
  +-- ws@1.1.4
  +-- xhr@2.4.0
  +-- xml-parse-from-string@1.0.1
  +-- xml2js@0.4.19
  | `-- xmlbuilder@9.0.4
  +-- xmlbuilder@4.0.0
  | `-- lodash@3.10.1
  +-- xmldom@0.1.27
  +-- xpath@0.0.9
  +-- xtend@4.0.1
  +-- y18n@3.2.1
  +-- yallist@2.1.2
  +-- yargs@6.6.0
  +-- yargs-parser@4.2.1
  +-- yauzl@2.8.0
  `-- zip-stream@1.2.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.x (node_modules\appium\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: heapdump@0.3.9 (node_modules\appium\node_modules\heapdump):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: heapdump@0.3.9 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

C:\Users\cmd>appium -v
1.7.0

C:\Users\cmd>appium-doctor
info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ✔ The Node.js binary was found at: D:\nodejs\node.exe
info AppiumDoctor  ✔ Node version is 6.10.0
info AppiumDoctor  ✔ ANDROID_HOME is set to: D:\Android\android-sdk-windows
info AppiumDoctor  ✔ JAVA_HOME is set to: C:\Program Files\Java\jdk1.8.0_121
info AppiumDoctor  ✔ adb exists at: D:\Android\android-sdk-windows\platform-tools\adb.exe
info AppiumDoctor  ✔ android exists at: D:\Android\android-sdk-windows\tools\android.bat
info AppiumDoctor  ✔ emulator exists at: D:\Android\android-sdk-windows\tools\emulator.exe
info AppiumDoctor  ✔ Bin directory of %JAVA_HOME% is set
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor

二 以往疑惑

可以看到期间又报了一个错误,这个错误我以前也是忽略掉的,因为对 appium 脚本并没有什么影响。但现在又看到了,想问下小伙伴们,谁解释下
appium 想用 VCBuild.exe 去编译安装什么模块项目,这个编译模块项目是干什么的?

在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3)
 如果将该组件安装到了其他位置,请将其位置添加到系统路径中。 [D:\nodejs\node-global\node_modules\appium\node_modules\heapdump\build\binding.sln]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (D:\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
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_process.js:215:12)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "D:\\nodejs\\node.exe" "D:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\nodejs\node-global\node_modules\appium\node_modules\heapdump
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 11 条回复 时间 点赞

以往的疑惑 你是怎么解决的

MSBUILD : error MSB3428: 未能加载 Visual C++ 组件 “VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了其他位置,请将其位置
添加到系统路径中。 [C:\Users\CY\node_modules\appium\node_modules\heapdump\build\binding.sln]
我安装了一遍 还是不行

SirCYong 回复

https://testerhome.com/topics/8223
应该是这样,你试试

SirCYong 回复

我没有管这行 报错 "MSBUILD : error MSB3428: 未能加载 Visual C++ 组件 “VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Vis ual Studio 2005;或 3)
如果将该组件安装到了其他位置,请将其位置添加到系统路径中。 [D:\nodejs\node-global\node_modules\appium\node_modules\heapdump\build\bi nding.sln]
"

你不做 win 客户端或 uwp 应用自动化的话,可以不关心这个,这个不会影响做 ios 和 android APP 自动化.

老马 回复

如果你想做 win ui 自动化的话,可以尝试这样 https://testerhome.com/topics/8812

如果只是想解决这个报错的话,我帮你查了下,但没有找到最契合的答案.解决方案有多样.主要是解决

MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Vis ual Studio 2005;或 3)
如果将该组件安装到了其他位置,请将其位置添加到系统路径中。 [D:\nodejs\node-global\node_modules\appium\node_modules\heapdump\build\bi nding.sln]

我查到类似的问题:
https://cnodejs.org/topic/510a98acdf9e9fcc58ee157b
这个关联的 https://github.com/nodejs/node-gyp/issues/307#issuecomment-240556824

在管理员权限下的 powershell 下,执行

npm install --global --production windows-build-tools

等安装完这些,你可以 npm uninstall appium -g
卸载干净后,再安装 npm i appium -g 看是否报错了.

SirCYong 回复

我试验成功了,
解决掉了,这种报错:

MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Vis ual Studio 2005;或 3)
如果将该组件安装到了其他位置,请将其位置添加到系统路径中。 [D:\nodejs\node-global\node_modules\appium\node_modules\heapdump\build\bi nding.sln]

和这种警告:

> appium-windows-driver@1.0.0 install D:\nodejs\node-global\node_modules\appium\node_modules\appium-windows-driver
> node install-npm.js
info WinAppDriver You must use WinAppDriver version 1.0
info WinAppDriver Verifying WinAppDriver version 1.0 is installed via comparing the checksum.
info WinAppDriver WinAppDriver.exe doesn't exist at the correct version 1.0, setting up
WARNING: You are not running as an administrator so WinAppDriver cannot be installed for you; please reinstall as admin
WinAppDriver was not installed; please check your system and re-run npm install if you need WinAppDriver
> heapdump@0.3.9 install D:\nodejs\node-global\node_modules\appium\node_modules\heapdump
> node-gyp rebuild
D:\nodejs\node-global\node_modules\appium\node_modules\heapdump>if not defined npm_config_node_gyp (node "D:\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "D:\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。

方法告诉你吧:
最终的方法,期间参考一些折腾了一些其他的,反复试了几次,应该是这样的步骤:

1 卸载 npm uninstall appium -g
哦 实际 我也开启了 win10 的开发人员模式,此步是不是必要 我暂时不清楚,参考乱七八糟的帖子 折腾了许多,所以并不知道 是否此步必要

2 去 https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk 下载 .iso

一共 760 多 MB 16299.15.170928-1534.rs3_release_WindowsSDK.iso win10 可以直接双击该 iso 便会加载为一个光盘 DVD 驱动器,进去,直接双击 WinSDKSetup.exe 安装即可.默
认路径,默认 features 全选择

3 https://github.com/Microsoft/WinAppDriver/releases 下载 v1.0 的 WindowsApplicationDriver.msi .
安装到默认 C:\Program Files (x86)\Windows Application Driver
路径,然后命令行到该路径,尝试启动下

保证启动正常.

4 管理员权限 powershell 执行 npm install --global --production windows-build-tools
过程很长,需要在线下载一些组件.我全程科学上网.

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
PS C:\WINDOWS\system32> npm install --global --production windows-build-tools
> windows-build-tools@2.2.1 postinstall D:\nodejs\node-global\node_modules\windows-build-tools
> node ./lib/index.js
Downloading BuildTools_Full.exe
Downloading python-2.7.14.amd64.msi
[> ] 0.0% (0 B/s)
Downloaded python-2.7.14.amd64.msi. Saved to C:\Users\cmd\.windows-build-tools\python-2.7.14.amd64.msi.
Starting installation...
Launched installers, now waiting for them to finish.
This will likely take some time - please be patient!
Status from the installers:
---------- Visual Studio Build Tools ----------
Successfully installed Visual Studio Build Tools.
------------------- Python --------------------
Successfully installed Python 2.7
+ windows-build-tools@2.2.1
added 132 packages in 1365.525s

5 管理员权限 powershell 执行 npm i appium -g

然后就正常了 没 WARNING 了.

PS C:\WINDOWS\system32> npm i appium -g
D:\nodejs\node-global\appium -> D:\nodejs\node-global\node_modules\appium\build\lib\main.js

> appium-chromedriver@3.1.4 install D:\nodejs\node-global\node_modules\appium\node_modules\appium-chromedriver
> node install-npm.js

info Chromedriver Install Installing Chromedriver version '2.33' for platform 'win' and architecture '32'
info Chromedriver Install Opening temp file to write chromedriver_win32 to...
info Chromedriver Install Downloading https://chromedriver.storage.googleapis.com/2.33/chromedriver_win32.zip...
info Chromedriver Install Writing binary content to C:\Users\cmd\AppData\Local\Temp\2018317-14572-briz5r.jt6ow\chromedriver_win32.zip...
info Chromedriver Install Extracting C:\Users\cmd\AppData\Local\Temp\2018317-14572-briz5r.jt6ow\chromedriver_win32.zip to C:\Users\cmd\AppData\Local\Temp\2018317-14572-briz5r.jt6ow\chromedriver_win32
info Chromedriver Install Creating D:\nodejs\node-global\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win...
info Chromedriver Install Copying unzipped binary, reading from C:\Users\cmd\AppData\Local\Temp\2018317-14572-briz5r.jt6ow\chromedriver_win32\chromedriver.exe...
info Chromedriver Install Writing to D:\nodejs\node-global\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\chromedriver.exe...
info Chromedriver Install D:\nodejs\node-global\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\chromedriver.exe successfully put in place

> appium-selendroid-driver@1.6.6 install D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver> node ./bin/install.js

dbug AndroidDriver Getting Java version
info AndroidDriver Java version is: 1.8.0_121
info Selendroid Ensuring D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid\download exists
info Selendroid Downloading Selendroid standalone server version 0.17.0 from http://repo1.maven.org/maven2/io/selendroid/selendroid-standalone/0.17.0/selendroid-standalone-0.17.0-with-dependencies.jar --> D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid\download\selendroid-server-7cf7163ac47f1c46eff95b62f78b58c1dabdec534acc6632da3784739f6e9d82.jar
info Selendroid Writing binary content to D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid\download\selendroid-server.jar.tmp
info Selendroid Selendroid standalone server downloaded
info Selendroid Determining AndroidManifest location
info Selendroid Determining server apk location
info Selendroid Extracting manifest and apk to D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid\download
info Selendroid Copying manifest and apk to D:\nodejs\node-global\node_modules\appium\node_modules\appium-selendroid-driver\selendroid
info Selendroid Cleaning up temp files
info Selendroid Fixing AndroidManifest icon bug

> appium-uiautomator2-driver@0.11.0 install D:\nodejs\node-global\node_modules\appium\node_modules\appium-uiautomator2-driver
> node ./bin/install.js

dbug AndroidDriver Getting Java version
info AndroidDriver Java version is: 1.8.0_121
info UiAutomator2 downloading UiAutomator2 Server APK v0.3.0 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.3.0/appium-uiautomator2-server-v0.3.0.apk
info UiAutomator2 downloading UiAutomator2 Server test APK v0.3.0 : https://github.com/appium/appium-uiautomator2-server/releases/download/v0.3.0/appium-uiautomator2-server-debug-androidTest.apk
info UiAutomator2 UiAutomator2 Server APKs downloaded

> appium-windows-driver@1.0.0 install D:\nodejs\node-global\node_modules\appium\node_modules\appium-windows-driver
> node install-npm.js

info WinAppDriver You must use WinAppDriver version 1.0
info WinAppDriver Verifying WinAppDriver version 1.0 is installed via comparing the checksum.
info WinAppDriver WinAppDriver.exe version 1.0 already exists with correct checksum, not re-downloading

> heapdump@0.3.9 install D:\nodejs\node-global\node_modules\appium\node_modules\heapdump
> node-gyp rebuild


D:\nodejs\node-global\node_modules\appium\node_modules\heapdump>if not defined npm_config_node_gyp (node "D:\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "D:\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
  heapdump.cc
     Creating library D:\nodejs\node-global\node_modules\appium\node_modules\heapdump\build\Release\addon.lib and object D:\nodejs\node-global\node_modules\appium\node_modules\heapdump\build\Release\addon.exp
  Generating code
  Finished generating code
  addon.vcxproj -> D:\nodejs\node-global\node_modules\appium\node_modules\heapdump\build\Release\\addon.node
  addon.vcxproj -> D:\nodejs\node-global\node_modules\appium\node_modules\heapdump\build\Release\addon.pdb (Full PDB)

> pre-commit@1.2.2 install D:\nodejs\node-global\node_modules\appium\node_modules\pre-commit
> node install.js


> wd@1.5.0 install D:\nodejs\node-global\node_modules\appium\node_modules\wd
> node scripts/build-browser-scripts


> spawn-sync@1.0.15 postinstall D:\nodejs\node-global\node_modules\appium\node_modules\spawn-sync
> node postinstall

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules\appium\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

+ appium@1.7.2
added 1375 packages in 682.967s

求解答~

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.x (node_modules\appiu
m\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@
1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}
)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: heapdump@0.3.9 (node_modules\app
ium\node_modules\heapdump):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: heapdump@0.3.9 install: node-gy
p rebuild

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

楼主 我是 W7 得系统也出现了那种情况

C:\Users\DELL\AppData\Roaming\npm\node_modules\appium\node_modules\heapdump>if not defined npm_confi
g_node_gyp (node "D:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\
....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "D:\Program Files\nodejs\node_mod
ules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成,请添加 “/m” 开关。
MSBUILD : error MSB3428: 未能加载 Visual C++ 组件 “VCBuild.exe”。要解决此问题,1) 安装 .NET Framewo
rk 2.0 SDK;2) 安装
Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了其他位置,请将其位置添加到系统路径中。 [C:\U
sers\DELL\AppData\Roaming\npm\
node_modules\appium\node_modules\heapdump\build\binding.sln]
gyp ERR! build error
gyp ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe failed with exit c
ode: 1
gyp ERR! stack at ChildProcess.onExit (D:\Program Files\nodejs\node_modules\npm\node_modules\nod
e-gyp\lib\build.js:258:23)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "D:\Program Files\nodejs\node.exe" "D:\Program Files\nodejs\node_modules\npm
\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\DELL\AppData\Roaming\npm\node_modules\appium\node_modules\heapdump
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\appium\node_modules\fse
vents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":
"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: heapdump@0.3.9 (node_modules\appium\node_modules\hea
pdump):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: heapdump@0.3.9 install: node-gyp rebuild
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

  • appium@1.8.1 added 466 packages in 236.206s
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册