在命令行模式下启动appium server时报错:error: uncaughtException: Cannot find module 'internal/util/types'

再来看看appium和node的版本:

造成启动失败的原因:

appium在编写时遵循的是ES5规范,而node 的10.16版本却不是,不同的规范造成 apiium 在启动时 与node 发生了冲突

所以解决办法是:降低node版本,遵循ES5规范

插曲:理解下ES

ECMAScript是一种由ECMA组织(前身为欧洲计算机制造商协会)制定和发布的脚本语言规范

  ES的几个重要版本

  •   ES5 : 09年发布

  •   ES6(ES2015) : 15年发布, 也称为ECMA2015

  •   ES7(ES2016) : 16年发布, 也称为ECMA2016 (变化不大)

由此,ES6是在15年发布的,所以使用15年之前发布的node版本,绝对遵循ES5规范

Node 历史版本下下载:https://nodejs.org/zh-cn/download/releases/

就选择2014年12月17日发布的0.10.34版本

卸载之前的node,安装0.10.34版本

再次查看node与appium版本:

启动 appium server

启动成功

appium server与nodeJs 兼容问题的更多相关文章

  1. Appium Server源码分析之作为Bootstrap客户端

    Appium Server拥有两个主要的功能: 它是个http服务器,它专门接收从客户端通过基于http的REST协议发送过来的命令 他是bootstrap客户端:它接收到客户端的命令后,需要想办法把 ...

  2. Appium Server 源码分析之启动运行Express http服务器

    通过上一个系列Appium Android Bootstrap源码分析我们了解到了appium在安卓目标机器上是如何通过bootstrap这个服务来接收appium从pc端发送过来的命令,并最终使用u ...

  3. Java控制Appium server start/stop

    相信很多人都会遇到这种场景,在进行appium自动化的时候用Windows OS,不好实现后台运行,每次启动Appium server: 使用Appium GUI版手动点击 就是在cmd line 启 ...

  4. 此数据库文件与当前sql server实例不兼容

    在vs2015导入mdf数据库文件时提示:此数据库文件与当前sql server实例不兼容. mdf文件的版本是SQL SERVER 2005的,而VS2015自带的数据库是LocalDB,直接导入该 ...

  5. appium远程调用appium server

    如何通过本地的代码,调用远程的server呢?   例如:我有两台电脑A(192.168.112.10)和B(192.168.112.11),那我怎么能在A执行本地脚本,但是使用B上的server呢? ...

  6. Appium Server 传递iOS参数

    Appium  server  iOS Capabilities 参数 iOS Only Capability Description Values calendarFormat (Sim-only) ...

  7. Appium Server 传递Android参数

    Appium  server Capabilities 传递参数    Android 特定 Android Only Capability Description Values appActivit ...

  8. Appium Server 传递的基本参数

    Appium Server  传递的基本参数 官方列表 Appium server capabilities Capability Description Values automationName ...

  9. SQL Server数据库的兼容级别

    SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行M ...

随机推荐

  1. web api 的 安全 认证问题 , 对外开放 的 时候 需要考虑到安全的问题

    关于 OWIN OAuth , web api的认证,全局验证, 安全方面的验证 有必要 去 自己捣鼓一下.

  2. Qt Installer Framework翻译(7-5)

    操作 这些操作由组件和控制脚本准备,并由安装程序执行. 注意:操作是通过线程执行的. 在内部,每个操作都有一个DO步骤,包含有关安装程序的说明,以及一个UNDO步骤,包含有关卸载程序的说明. 操作总结 ...

  3. Golang - 指针与引用

    ​ Golang有指针 , 那么一切数据都是值传递吗 ? 都需要用户进行指针传递吗, 其实不然, 对于Go语言, 虽然有指针, 但是其也有引用传递. 是不是很绕, 因为引用传递就是指针传递哇 . 我们 ...

  4. openresty http

    openresty http openresty默认没有提供http客户端,需要第三方提供插件. 下载方式: wget https://raw.githubusercontent.com/pintsi ...

  5. 《Kubernetes权威指南》01_Kubernetes入门——Kubernetes 是什么

    01_Kubernetes入门 li {list-style-type:decimal;}.wiz-editor-body ol.wiz-list-level2 > li {list-style ...

  6. alert弹出窗口,点击确认后关闭页面

    alert("点击确认后,关闭页面"); window.opener=null;window.top.open('','_self','');window.close(this);

  7. Git 初级使用 windows & Ubuntu

    目的:有一段代码要进行几个人同时维护,但是传来传去不方便,所以希望在github上实现,前提是每台机器都有git 在github 上新建一个项目 然后会看到,大体上就按这执行就可以 在Windows系 ...

  8. 《快乐编程大本营》java语言训练班 3课:java的运算符

    第1节. 算术运算符 第2节. 递增和递减运算符 第3节. 比较运算符 第4节. 逻辑运算符 第5节. 运算符优先级 第6节. 字符串运算 http://code6g.com/pxphp/px/ban ...

  9. how to convert wstring to string

    #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #include <local ...

  10. [python之路]学习路线

    python基础 #为什么要学python?python在知名公司广泛应用,谷歌.cia.nasa.youtobe.dropbox.instagram.facebook.redhat.豆瓣.知乎.搜狐 ...