mac下搭建openstf环境
STF是WEB 端批量移动设备管理控制工具,全名Smartphone Test Farm,可以提供远程真机使用调试的功能,已有的云真机平台大多通过STF实现,目前仅支持Android设备,项目地址:https://openstf.github.io/
安装过程
1.安装node.js
brew install node
- 安装Android-SDK和java
注意设置环境变量,建议直接安装Android Studio - 安装 rethinkdb
brew install rethinkdb
- 安装 graphicsmagick
brew install graphicsmagick
- 安装 zeromq
brew install zeromq
- 安装protobuf
brew install protobuf
- 安装pkg-config
brew install pkg-config
- 安装yasm
brew install yasm
- 安装bower
安装前可先将npm 配置项registry修改为淘宝镜像,外国镜像下载较慢可能出问题
npm config set registry https://registry.npm.taobao.org
然后安装bower
npm install bower -g
10.安装STF
npm install -g stf
11.全部装完之后检查环境配置
stf doctor
(不报错即可,报错按照错误提示解决)
启动服务
1.启动rethinkDB
rethinkdb
- 启动stf服务端
本地启动:
stf local
指定ip和允许远程连接启动:
stf local --public-ip 10.10.8.18 --allow-remote
启动后在浏览器中输入对应地址http://10.10.8.18:7100/,登录页面的用户名和邮箱随便输入,启动后页面如下:
安装中遇到的问题
Unexpected token ...
2019-11-29T08:15:59.988Z FTL/cli:local 82786 [*] Child process had an error ExitError: Exit code "1"
at ChildProcess.<anonymous> (/usr/local/Cellar/node/13.2.0/lib/node_modules/stf/lib/util/procutil.js:49:23)
at emitTwo (events.js:125:13)
at ChildProcess.emit (events.js:213:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)
解决方法:
node.js通过n模块安装多个版本,安装完后切换到8.11版本
npm install -g n //安装n模块
n 8.11 //安装node.js8.11版本(支持8.x版本,但是作者开始用8.0一直报以上错误)
n //查看已安装版本,可以上下键切换,回车选择
Error: Could not locate the bindings file. Tried:
/usr/local/lib/node_modules/stf/node_modules/zmq/build/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/build/Debug/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/build/Release/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/out/Debug/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/Debug/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/out/Release/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/Release/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/build/default/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/compiled/6.10.1/darwin/x64/zmq.nodeat bindings
解决方法:
卸载stf、zeromq,重新安装重新安装zeromq、stf,最好不要用sudo,用sudo可能会出问题,如果遇到权限访问问题,可以通过chmod 777修改文件夹权限
sudo chmod 777 -R 文件夹路径
WARN EACCES user "root" does not have permission to access the dev dir
解决方法:
没有文件夹的访问权限,可以通过chmod 777修改文件夹权限
sudo chmod 777 -R 文件夹路径
xcode-select: error: tool 'xcodebuild' requires Xcode,
but active developer directory '/Library/Developer/CommandLineTools'
is a command line tools instance
解决方法:
xcodebuild的路径不正确,将路径切换到Xcode的目录下:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
- npm报错
error code EINTEGRITY
解决方法:
升级npm
npm i -g npm
删除package-lock.json
删除缓存目录下的所有数据
npm cache clean –force
验证缓存数据的有效性和完整性,清理垃圾数据
npm cache verify
网友评论