安装步骤借鉴了文章(https://www.cnblogs.com/yinzhuoqun/p/10845270.html),中间遇到了许多坑,记录下来,方便以后自己或其他有需要的人查阅!
备注:我的网络是无法访问国外网站的,所以采用的是通过淘宝的 cnpm 安装的 stf
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
坑 1:运行此命令时,会长时间停留在 “Updating Homebrew...”
临时解决方法:
mac 按一下 “control+c”,终止一下这个命令,几秒后就会自动开始安装依赖
坑 2:解决完坑 1 后,再次运行命令,就会发现还是有错误,但是注意到上方有提示运行命令 “brew cleanup”,所以当运行brew cleanup*时,又会遇到同样的错误 “Error: Permission denied @ apply2files”*
解决方法:
运行两个命令 “sudo chown -R $(whoami):admin /usr/local/” 和 “sudo chmod -R g+rwx /usr/local/” 后,再次执行brew cleanup成功,再次执行安装依赖的命令,成功
a. 查找可用的 node 版本: brew search node
b. 安装你需要的版本, 比如: brew install node@8
c. 然后: brew link node@8
这一步可能会报错,,按照提示(If you need to have this software first in your PATH instead consider running: echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile)执行命令就 ok 了,比如我最后执行的是 brew link --overwrite --force node@8
d. node -v
不出意外, 就安装好了你想要的 node 版本
坑 1:在 STF 的 github 上已经注明,只支持 node 8.*(Node.js 8.x required (some dependencies don't support newer versions)),所以需要保证电脑上的 node 版本必须是 8.*
解决方法:
安装对应的 node 版本
备注:查看网上,说如果本机已经安装新版本的 node,再想安装低版本的 node 就得先卸载,再安装,本着稳妥起见,我直接卸载了 node,直接安装的 8.版本,附上卸载 node 的步骤:
sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
最后输入 “node -v” 和 “npm -v” 查看是否提示无此命令,若提示,则卸载成功
a. 安装 cnpm :
npm install -g cnpm --registry=https://registry.npm.taobao.org
b. 再安装 cnpm6.0.0:
cnpm install cnpm@6.0.0
cnpm install -g stf
坑 1:总是报错 RunScriptError: post install error, please remove node_modules before retry!
解决方法:
查找了很多网站,都只是说删除 node_modules 然后再运行就可以了,但是我删除了后还是不行,后来自己试了一下,先单独安装 node-gyp,然后再按章 stf,没想到成功了!
运行命令 “cnpm install -g node-gyp”,然后再运行 “cnpm install -g node-gyp”,就可以成功安装 stf
a. vim ~/.bash_profile
b. 输入以下内容,默认安装 Android studio 的位置就是如下,把 xxx 换成当前账号名称即可
export ANDROID_HOME= /Users/xxx/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
c. 保存退出:wq **
**d. 使环境变量生效:source ~/.bash_profile
rethinkdb --bind all --cache-size 8192 --http-port 8090
注意,需要记录下来返回的 IP 地址,在下一步需要用到这个 IP 地址
stf local --public-ip 192.168.31.241 --allow-remote
注意,此时的 192.168.31.241 是启动 rethinkDB 时返回的 IP 地址
浏览器访问:http://192.168.31.241:7100