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 ...
随机推荐
- 0基础学习web技术
说实话0基础学习前端挺难的,当然也没有是技术是容易学习的 我只是想分享一下我的学习经历: 分为以下几点: 1:学习html和css ,学习完成之后可以模仿各大网站的静态网页 2:学习原生js基础,jq ...
- JavaScript-->基础类型和引用类型的区别
先了解一下数组的基础知识:附代码(数组属于引用类型的对象) <!DOCTYPE html> <html lang="en"> <head> &l ...
- ActiveMQ入门系列二:入门代码实例(点对点模式)
在上一篇<ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)>中,大致介绍了ActiveMQ和一些概念,并下载.安装.启动他,还访问了他的控制台页面. 这篇,就用代 ...
- JS 发送弹幕
JS实现弹幕的发送 <div class="box1"> <div class="box2" style="width: 600px ...
- element消息提示封装
官方的 <template> <el-button :plain="true" @click="open2">成功</el-but ...
- angularJs同步请求
今天在写几级联动的时候,因为比如上一个接口请求数据成功返回后,才能根据上一个接口返回的数据请求下一个接口,以此类推:因此有了同步请求的想法. 在前端做同步读取显然不是好的实践做法,同步之后会严重影响前 ...
- c# datatable 如何转CSV文件
public void DataTableToCSV(DataTable dtCSV, string csvFileFullName, bool writeHeader, string delimet ...
- mount的bind选项
mount 的 bind 选项将第一个目录克隆到第二个.一个目录中的改变将会在另一个中出现 - 毕竟,它是同一磁盘上的同一个块. 使用 bind 与对同一设备进行两次挂载的区别在于:您可以挂载子目 ...
- Shell脚本快速查看网段内ip占用情况和可用ip
思想就是整个网段ping一遍,对于ping不通的,解析其失败的字符来判定 #!/bin/bash head_add=${} address=${head_add%.*} echo address=$a ...
- codeblock的一个小问题
也许不叫问题吧,也可能是编译器的特性. 我的codeblock选择的编译器: 编写.cpp文件时,floatl类型输入输出都是 %f,double类型输入只能是 %lf,输出只能是 %f. 但是在co ...