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