จะลองติดตั้ง GitHub friends, P2P chat powered
friends เป็น chat application ที่ใช้ technology ของ P2P (แบบเดียวกับ bittorrent)
GUI ใช้ electron หรือ atom-shell ที่ github ใช้สร้าง Atom editor และปล่อย open source ด้วย
ไปอ่านความเจ๋งของมันได้ที่ site ของเค้าได้เลย ที่นี่
วันนี้มาทดลอง build เล่นดีกว่า เพราะหา binary release ไม่เจอ -_-
ก่อนจะเริ่ม build ต้องมีบัญชีกับ github ก่อน (เค้าบอกว่าในช่วงแรกใช้แบบนี้ไปก่อน)
ติดตั้ง module ที่ต้องใช้ในการตรวจสอบก่อน
$ npm i github-current-user -g
ทดสอบว่า github เชื่อมต่อกับ account เราได้หรือยัง
$ DEBUG=* github-current-user
ghsign SSH_AUTH_SOCK +0ms /private/tmp/com.apple.launchd.G4BHMbX15X/Listeners
github-current-user username from .gitconfig: dahoba +47ms
github-current-user signing with "dahoba" +3ms
ghsign ssh-agent public keys ...
ถ้ามีปํญหาที่ขั้นตอนนี้ให้ลองตรวจสอบว่า git config username ของเราตรงกับ github account ของเราหรือยัง
$ git config --global user.username
dahoba
อย่างตัวอย่างนี้ก็ต้องได้ account ผมใน github ออกมา ถ้ายังไม่ตรงต้องแก้ซะก่อน
เมื่อ clone ลงมาแล้ว ก่อนจะเริ่ม คำสั่งแรก ถ้ายังไม่มี leveldb ในเครื่องให้ลงก่อน วิธีติดตั้งที่สะดวกสำหรับผมคือใช้ Homebrew
$ brew install leveldb
พอจะสั่ง build step ที่ 2 npm run rebuild-leveldb
เจอ error ก็เพราะว่า npm ในเครื่องเก่าไป เค้าต้องการ npm version ที่สูงกว่าหรือเท่ากับ 2.8.3
เราต้องติดตั้ง npm iojs node เป็น version อย่างน้อยตามที่เอกสารระบุ
io.js >= 1.8.1 และ npm >= 2.8.3 เมื่อเราติดตั้ง homebrew อยู่แล้วก็สั่งติดตั้งได้เลย
$ brew update
$ brew install node
เราจะได้ nodejs และ npm binary ติดตั้งในเครื่อง
ต่อไปติดตั้ง iojs สั่ง
$ brew install dahoba/iojs/iojs
$ brew link iojs
Formula homebrew-js
ตัวข้างบนนี้ผม fork มาจากของ smockle/iojs/iojs เนื่องจากตอนทำครั้งแรก
ผมใช้ของ smockle แล้วพบว่าเป็น iojs v1.0.4 (เก่าไปอีก) เลยจัดการ fork เอา formula มาแก้ไขเป็น version ที่ต้องการ (เอา version ล่าสุดเลย v2.3.1)
ข้อสังเกต:
ถึงคุณจะไม่ใช้ formula พิเศษ ก็จะลง iojs ได้เหมือนกัน แต่มันจะมี message แบบว่าThis formula is keg-only. iojs conflicts with node (which is currently more established)
ไม่ค่อยเข้าใจ แต่ googling ดูแล้วเห็นว่ามันต้องทำอะไรยุ่งยาก และได้ iojs version ที่เก่ากว่าที่ต้องการด้วย
เราต้องเลือกใช้ node หรือ iojs (ทำไมใช้ไปด้วยกันไม่ได้?)
- เวลาจะใช้ node
brew unlink iojs && brew link node
- เวลาจะใช้ iojs
brew unlink node && brew link --force iojs
หรือถ้าใช้บ่อยทำเป็น alias เลยก็ได้ จับใส่ใน ~/.bashrc หรือ ~/.zshrc
alias usenode="brew unlink iojs && brew link node && echo Updating NPM && npm install -g npm@latest && echo Using Node.js"
alias useio="brew unlink node && brew link --force iojs && echo Updating NPM && npm install -g npm@latest && echo Using io.js"
กราบส์ขอบคุณ gist อันนี้ :thumpup:
กลับมา rebuild-levelb กันต่อ ต้องกลับมาใช้ node ก่อน
$ usenode
$ npm run rebuild-leveldb
มันดูแปลกๆใช่มั้ย ที่เราไปเสียเวลาลง iojs แต่มาพิมพ์ usenode ก่อน compile แต่เหมือนว่าข้างใน script build มันมีการเรียกใช้ iojs นะ
คราวนี้ไม่มี error message อะไรแล้ว สั่ง npm start
เพื่อเรียก friends ขึ้นมาเลย
LOL จาก screenshot ไม่เจอใครเลย เพราะยังไม่มีใครมาเปิด friends ใน network เดียวกับผมน่ะสิ่ -_- เดี๋ยวรอเพื่อนโต๊ะทำงานๆใกล้ว่างก่อน จะส่ง friends แบบที่ build แล้วไปให้มาลองเล่นกัน
ไม่มีความคิดเห็น :
แสดงความคิดเห็น