MAC下STF安装及踩坑
【Mac OS X】brew: command not found
ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
macOS 安装 adb
通过 homebrew 安装
brew cask install android-platform-tools
<!--more-->
测试是否正常
adb devices
手动安装
# 移除老的安装包
rm -rf ~/.android-sdk-macosx/
# 下载 sdk
# 下载地址:developer.android.com
# 将下载的文件解压并移动到 ~/.android-sdk-macosx
cd ~/Downloads(你的下载目录)/
unzip android-sdk*.zip
mv android-sdk-macosx/ ~/.android-sdk-macosx
# 运行 SDK Manager
sh ~/.android-sdk-macosx/tools/android
# 根据你的需要选择,(我只需要Android SDK Platform-tools)[可选步骤]
# 选好后 Install
#环境变量设置
echo 'export PATH=$PATH:~/.android-sdk-macosx/platform-tools/' >> ~/.bash_profile
# 更新配置文件
source ~/.bash_profile
# 测试是否正常安装
adb devices
安装
参照 github 上的教程,总体分两步,说起来很容易
首先检查一下基本的环境
node -v
npm -v
java -version
adb version
如果以上四点均OK了,那么可以开始下面
第一步
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
第二步
npm install -g stf
至此,理想情况下stf就应该安装成功了。
但是总会遇到一些坑。
踩坑
node版本问题
一般安装node,都是直接brew 安装的
brew install node
这边默认安装的版本比较高,而stf对node的最新版本没有做到完美兼容,所以我们需要安装旧版本的node,以8.x为佳
在github上看,很多人题给作者的问题,作者也会回复了,建议使用8.x

至于怎么按准过老版本的node,建议使用nvm
具体怎么用,我参考的是这篇文章
报错bufferutil@1.3.0 install: node-gyp rebuild
我在安装过程中主要是遇到这个问题,报错如下:
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/Users/dongshichao/.nvm/versions/node/v8.11.0/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336:16)
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 Darwin 17.5.0
gyp ERR! command "/Users/dongshichao/.nvm/versions/node/v8.11.0/bin/node" "/Users/dongshichao/.nvm/versions/node/v8.11.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/dongshichao/.nvm/versions/node/v8.11.0/lib/node_modules/stf/node_modules/bufferutil
gyp ERR! node -v v8.11.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bufferutil@1.3.0 install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bufferutil@1.3.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/dongshichao/.npm/_logs/2018-12-17T15_00_38_264Z-debug.log
我一开始node版本是10.x,后来安装报上面的错
后来我在github上看到作者给别人的回复,建议使用8.x,我刚换8.11后问题依然存在。
后来又安装8.14,使用8.14安装成功
最终,我的版本是
dongshichaodeMacBook-Pro:~ dongshichao$ node -v
v8.14.0
dongshichaodeMacBook-Pro:~ dongshichao$ npm -v
6.4.1
踩完这两个坑,输入
stf doctor
无报错,则说明安装成功

运行
安装成功后,启动stf
rethinkdb
stf local
本地浏览器输入
localhost:7100
登录后出现如下界面

至此,stf在mac上安装算是完成。
MAC下STF安装及踩坑的更多相关文章
- 在mac下初次使用pygame踩坑纪实(卡死)
初次使用pygame实现绘图功能就踩坑 直接上代码 import pygame pygame.init() # 创建游戏的窗口 480 * 700screen = pygame.display.set ...
- mac 下 php 安装 中的坑
brew Error: Formulae found in multiple taps http://www.trylife.cn/brew-error-formulae-found-in-multi ...
- ubuntu 下安装docker 踩坑记录
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...
- linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)
linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...
- linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦
linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...
- linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)
linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...
- Mac下Jekyll安装
之前一直用Wordpress,虽然功能强大,各种插件各种bug,如果想弄个主题,折腾得要命.最近改用jekyll+gitHub免费空间.记录一下. 我用的是Mac,所以只讲述Mac下如何安装,Wind ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- Mac 下 docker安装
http://www.th7.cn/system/mac/201405/56653.shtml Mac 下 docker安装 以及 处理错误Cannot connect to the Docker d ...
随机推荐
- vue-动态路由+动态组件+动态页面
动态路由 路由组件是vue-router 动态路由即从后端请求路由信息,然后转化生成路由信息.所以这里的关键是不会提前知道什么菜单对应什么组件,因此路由声明的时候不再是写死的组件,而是可替换的动态路径 ...
- 如何使用JDBC连接数据库
1 JDBC:java database connectivity,是java程序与数据库系统通信的标准api 2 下载mysql JDBC驱动,解压缩找到mysql-connector-java-5 ...
- springboot集成websocket的两种实现方式
WebSocket跟常规的http协议的区别和优缺点这里大概描述一下 一.websocket与http http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能 ...
- 简单服务器通信 模型socketserver
硬件服务器:主机 集群 厂商 :IBM HP 联想 浪潮 软件服务器 :编写的服务端应用程序,在硬件服务器上运行,一般依托于操作系统,给用户提供一套完整的服务 httpserver --> ...
- 第五章、Django之模型层----多表查询
目录 第五章.Django之模型层----多表查询 一.一对多字段增删改查 1.增 2.查 3.改 4. 删除 二.多对多的增删改查 1. 增 2. 改 3. 删 三.ORM跨表查询 四.正反向的概念 ...
- web开发:Bootstrap
一.ajax请求 二.前台服务器概念 三.bs导读 四.bs引入 五.bs容器与响应式 一.ajax请求 - 后台 ```python# 通过flask框架搭建后台from flask import ...
- Linux 下升级Android Studio失败
在Linux下进行升级的时候,会弹出一个窗口,有一个表格,从表中发现在进行某些更新某些包是没有权限,解决方法很简单,将Android Studio安装文件夹改成当前Linux登陆用户即可. 1.找到A ...
- hdu4786 Fibonacci Tree[最小生成树]【结论题】
一道结论题:如果最小生成树和最大生成树之间存在fib数,成立.不存在或者不连通则不成立.由于是01图,所以这个区间内的任何生成树都存在. 证明:数学归纳?如果一棵树没有办法再用非树边0边替代1边了,那 ...
- bind支持mysql
最近打算将bind的记录信息存入到数据库中去,网上找了下,原来早有老外写好了mysql-bind的补丁,重新编译bind即可实现bind支持mysql存储.(http://mysql-bind.sou ...
- ACM-ICPC 2017 西安赛区现场赛 K. LOVER II && LibreOJ#6062. 「2017 山东一轮集训 Day2」Pair(线段树)
题目链接:西安:https://nanti.jisuanke.com/t/20759 (计蒜客的数据应该有误,题目和 LOJ 的大同小异,题解以 LOJ 为准) LOJ:https://l ...