stf 安裝使用和注意事項

一迁央,安裝stf首先要安裝node

踩坑
node 版本

一般安裝node,都是直接brew 安裝的

brew install node

這邊默認(rèn)安裝的版本比較高司抱,而stf對node的最新版本沒有做到完美兼容,所以我們需要安裝舊版本的node燎竖,以8.x為佳

在github上看址芯,很多人題給作者的問題,作者也會回復(fù)了诚纸,建議使用8.x

報錯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上看到作者給別人的回復(fù)畦徘,建議使用8.x毕籽,我剛換8.11后問題依然存在。
后來又安裝8.14井辆,使用8.14安裝成功
最終关筒,我的版本是

安裝nvm

nvm是node版本管理工具,為了解決node各種版本存在不兼容現(xiàn)象杯缺,nvm是讓你在同一臺機器上安裝和切換不同版本的node的工具蒸播。

安裝nvm
$ brew install nvm
image.png
安裝完成后,修改環(huán)境變量
進(jìn)入當(dāng)前用戶的Home目錄
$ cd ~
編輯.bash_profile文件
$ vim .bash_profile

按 i 進(jìn)入編輯模式
在文件里添加以下內(nèi)容

export NVM_DIR="$HOME/.nvm"
# This loads nvm
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  
# This loads nvm bash_completion
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  

然后按 esc 退出編輯模式

:wq 保存并退出

輸入以下命令萍肆,更新配置過的環(huán)境變量

$ source .bash_profile

查看nvm版本

$ nvm --version
如果出現(xiàn)版本號袍榆,則說明安裝成功

image.png

查看本地node的所有版本

$ nvm list

image.png

切換到指定的node版本

$ nvm use 10.19

卸載指定的node版本

$ nvm uninstall 版本號

安裝最新的node穩(wěn)定版本

$ nvm install --lts

查看node的所有的版本

$ nvm ls-remote

使用node指定版本執(zhí)行指定文件

$ nvm exec 版本號 node 要執(zhí)行的文件路徑

注意:如果node安裝了好幾個版本,在安裝stf的時候塘揣,有版本高的會報錯包雀,這個時候,把.nvm 安裝的目錄直接刪除了勿负,重新安裝,直接裝8.x版本的

nvm的注意事項:Mac 安裝nvm馏艾、刪除nvm

安裝&更新

1.使用 cURL 安裝腳本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
2.使用 Wget 安裝腳本
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

驗證安裝

command -v nvm

  • 驗證成功


    image.png
  • 驗證失敗


    image.png
  1. 系統(tǒng)可能沒有 .bash_profile file 設(shè)置命令的。只需創(chuàng)建一個 touch ~/.bash_profile 并再次運行安裝腳本奴愉,重新啟動終端實例琅摩。
    2.打開 .bash_profile 并添加以下代碼行:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

然后 source 一下 .bash_profile

source ~/.bash_profile

刪除 nvm(很重要)

  • 卸載 nvm
    nvm unload
  • 手動卸載
    $ rm -rf "$NVM_DIR"

二,使用homebrew方式安裝終端中輸入指令

1.安裝依賴

brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config

2.安裝ADB

brew cask install android-platform-tools

3.安裝STF

sudo npm install --unsafe-perm --verbose -g stf
為啥啟動stf的時候要用--unsafe-perm锭硼?

npm 出于安全考慮不支持以 root 用戶運行房资,即使你用 root 用戶身份運行了,npm 會自動轉(zhuǎn)成一個叫 nobody 的用戶來運行檀头,而這個用戶幾乎沒有任何權(quán)限轰异。這樣的話如果你腳本里有一些需要權(quán)限的操作岖沛,比如寫文件(尤其是寫 /root/.node-gyp),就會崩掉了搭独。
為了避免這種情況婴削,要么按照 npm 的規(guī)矩來,專門建一個用于運行 npm 的高權(quán)限用戶牙肝;要么加 --unsafe-perm 參數(shù)唉俗,這樣就不會切換到 nobody 上,運行時是哪個用戶就是哪個用戶配椭,即使是 root虫溜。

啟動STF

1.首先啟動rethinkdb

rethinkdb

2.新建一個終端連接ADB

adb start-server
adb connect 10.200.241.215 
adb devices

3.新建一個終端啟動stf

DEBUG=adb* stf local --allow-remote
如果遠(yuǎn)程訪問執(zhí)行下面這個命令
stf local --public-ip 本機IP

4.打開瀏覽器輸入地址看到界面就啟動成功了

http://localhost:7100/

遇到已知問題和解決方案

1.啟動rethinkdb端口占用導(dǎo)致啟動不起來,之前電腦上安裝有jenkins占用端口號股缸,停止jenkins服務(wù)就 可以


截屏2020-09-09 下午4.48.02.png

2.啟動stf時候使用命令不同導(dǎo)致啟動不起來


截屏2020-09-09 下午4.48.43.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末衡楞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子敦姻,更是在濱河造成了極大的恐慌瘾境,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镰惦,死亡現(xiàn)場離奇詭異寄雀,居然都是意外死亡,警方通過查閱死者的電腦和手機陨献,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門盒犹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人眨业,你說我怎么就攤上這事急膀。” “怎么了龄捡?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵卓嫂,是天一觀的道長。 經(jīng)常有香客問我聘殖,道長晨雳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任奸腺,我火速辦了婚禮餐禁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘突照。我一直安慰自己帮非,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著末盔,像睡著了一般筑舅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陨舱,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天翠拣,我揣著相機與錄音,去河邊找鬼游盲。 笑死心剥,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的背桐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蝉揍,長吁一口氣:“原來是場噩夢啊……” “哼链峭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起又沾,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤弊仪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后杖刷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體励饵,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡店雅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年晋南,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片一铅。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡表窘,死狀恐怖典予,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乐严,我是刑警寧澤瘤袖,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站昂验,受9級特大地震影響捂敌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜既琴,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一占婉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧甫恩,春花似錦锐涯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽霎终。三九已至,卻和暖如春升薯,著一層夾襖步出監(jiān)牢的瞬間莱褒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工涎劈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留广凸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓蛛枚,卻偏偏與公主長得像谅海,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蹦浦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355