|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: เมื่อ Github Pages build Jekyll ไม่ผ่าน |
| 4 | +author: tulakann |
| 5 | +description: "บางทีก็อยากจะเชื่อเหมือนกันว่าไสยศาสตร์มีจริง โดยเฉพาะไสยศาสตร์ทางโปรแกรมมิ่ง :p" |
| 6 | +image: |
| 7 | + feature: |
| 8 | +tags: [github, jekyll, note] |
| 9 | +comments: true |
| 10 | +date: 2017-02-23 12:05:00 |
| 11 | +--- |
| 12 | + |
| 13 | +บล็อกสั้นวันนี้ขอเสนอบันทึกประสบการณ์ Github Pages ไม่สามารถ build บล็อกของเราได้ โดยความพิเศษที่ทำให้ถึงขั้นต้องมาบันทึกไว้ก็คือมันรัน local ได้ปกติน่ะสิ! เกริ่นแค่นี้พอ เริ่มเลยละกันเพราะมันเป็นบล็อกสั้น ฮ่าๆ |
| 14 | + |
| 15 | +ถ้าใครเคยได้อ่านบล็อกจาก tupleblog มาบ้างก็น่าจะพอสังเกตเห็นว่า บล็อกนี้มันอัพตามใจฉันเหลือเกิน บางทีก็หายไปเป็นครึ่งปี บางทีเดือนเดียวมาสามบล็อกอะไรแบบนี้ ซึ่งก็ตามนั้นแหละ เพราะบล็อกนี้เขียนตามใจฉันทุกอย่าง ฮ่าา แต่เหตุการณ์ที่มักจะเกิดขึ้นเป็นประจำหลังจากกลับมาเขียนกันอีกรอบคือ บล็อกแม่มรัน local ไม่ได้! อันเนื่องมาจากแพคเกจนู่นนี่นั่น เวอร์ชันนู่นนั่นนี่ เป็นต้น ดังนั้นประมาณทุกๆ สามเดือน (หรืออาจมากกว่า แล้วแต่จะระลึกได้) เราก็จะมานั่งอัพเกรดไส้ในของบล็อกเพื่อให้มันยังรันต่อไปได้ มีครั้งนึงได้เขียนบล็อกไว้ด้วยนะเมื่อครั้งที่ [Github Pages อัพเกรดไส้ Jekyll ของตัวเองมาเป็น 3.0](http://tupleblog.github.io/jekyll-3-github-page/) แต่มันก็จะมี error หรือ warning เล็กๆ น้อยๆ ขึ้นมาเสมอเวลารันใน local แต่ก็ไม่เคยมีปัญหาเมื่อ push ขึ้นไปบน Github |
| 16 | + |
| 17 | +ล่าสุดเมื่อ [@titipata](https://twitter.com/titipat_a) เขียน[บล็อกใหม่](http://tupleblog.github.io/dataclysm-big-data/)มา ก็เป็นปกติที่เราจะผลัดกัน proof reading (แต่ทำหลังจาก publish แล้วด้วยนะ อินดี้ปะ) เมื่อเสร็จสิ้นการพิสูจน์อักศรตาม [commit นี้เลย](https://github.com/tupleblog/tupleblog.github.io/commit/f12eef34b19fab3dacda8519d8080ecb86e5cc88) เราก็ได้ push ขึ้น Github ตามปกติ แล้วก็มานั่งกดรีเฟรชเบราเซอร์เพื่อรอดูความเปลี่ยนแปลงที่ควรจะเห็นได้ในครึ่งนาที... รีเฟรชไปได้ห้านาทีก็พบว่ามันยังไม่อัพเดทซะทีฟะ ก็เลยเข้าไปดูใน commit ของ tupleblog พบว่าเป็นดังภาพ |
| 18 | + |
| 19 | +<figure><center> |
| 20 | + <img width="300px" src="/images/post/buildfail/commit.png" data-action="zoom"/> |
| 21 | +</center></figure> |
| 22 | + |
| 23 | +จากภาพคือถ้า commit นั้น build สำเร็จจะมีเครื่องหมายถูกสีเขียวขึ้นมา แต่ commit ล่าสุดที่เราได้ push ขึ้นไปกลับไปมี ก็เลยต้องรีบไปล็อกอินแอคเคาท์ของ tupleblog เพื่อเช็ครายละเอียดอีกทีซึ่งก็พบว่า |
| 24 | + |
| 25 | +<figure><center> |
| 26 | + <img width="300px" src="/images/post/buildfail/error.png" data-action="zoom"/> |
| 27 | +</center></figure> |
| 28 | + |
| 29 | +มาถึงตรงนี้ก็งงไปครับ ลอง push ขึ้นไปอีกหนึ่ง commit โดยใส่ความเปลี่ยนแปลงแค่ 1 เว้นวรรค ก็ไม่ช่วยอะไร ก็เลยติดต่อ [@titipata](https://twitter.com/titipat_a) ให้ลองรันบนแมคหน่อย.. (เอ้อ ลืมพูดถึงไปเลย ล่าสุดนี่คือเรารัน local บนวินโดว์ ซึ่งกว่าจะทำให้รันได้ก็เสียเวลาไปเป็นวันเหมือนกัน ฮ่าา) พอลองรันก็พบว่าบนแมคไม่สามารถรันได้มีปัญหากับ `gem` ชื่อ `json` ขึ้น error มาให้งงงวยเล่นๆ ด้วย แบบนี้ |
| 30 | + |
| 31 | +```sh |
| 32 | +Make sure that `gem install json -v '1.8.3'` succeeds before bundling. |
| 33 | +``` |
| 34 | + |
| 35 | +เราก็เลยเปิดแมคมาลองบ้างเจอเหมือนกันเด๊ะ ก็ลองเมคชัวร์ตามที่ error มันบอก พอรันตามนั้นก็พังเหมือนเดิม... เอาวะ ลองอัพเดท `gem` หน่อย เผื่อหาย |
| 36 | + |
| 37 | +```sh |
| 38 | +gem update |
| 39 | +bundle install |
| 40 | +``` |
| 41 | + |
| 42 | +เห้ย `json` รันผ่านแล้ววว ดีใจได้ไม่ถึงสิบวิ ก็พังอีก คราวนี้เปลี่ยน gem.... |
| 43 | + |
| 44 | +```sh |
| 45 | +Make sure that `gem install nokokiri -v '1.6.x.x'` succeeds before bundling. |
| 46 | +``` |
| 47 | + |
| 48 | +..... ใบ้เลยตอนนี้ ก็รันตามมันแล้วก็พังเหมือน `json` กราบบบ ระหว่างนี้ [@titipata](https://twitter.com/titipat_a) ก็ได้ใช้วิชามารไปแล้วรันได้แล้วเรียบร้อย วิชามารชื่อ delete and clone.. ใช่ครับ ลบทิ้งแล้วโคลนมาใหม่ เราก็เอาสิวะ มันได้เราก็ต้องได้ ลุยยย.... |
| 49 | + |
| 50 | +```sh |
| 51 | +Make sure that `gem install nokokiri -v '1.6.x.x'` succeeds before bundling. |
| 52 | +``` |
| 53 | + |
| 54 | +ทำไมมันยังขึ้นเหมือนเดิมได้ฟร้าาา เป็นอะไรที่หลอนมาก และเดาว่าต้องมีปัญหาเพราะ `gems` แน่ๆ ฮึ่ยย ว่าแล้วก็ระลึกชาติไปตอนที่ทำให้บล็อกรัน local บนวินโดว์ได้ ([commit นี้เขียนวิธีทำใส่ readme](https://github.com/tupleblog/tupleblog.github.io/commit/554688aa2c2d0a603c7c3f02c7158747992b0310)) ก็นึกขึ้นได้ว่าตอนนั้นก็มีปัญหากับ `gems` เหมือนกัน และจากการค้นหลายๆ แหล่งก็พบว่าให้ลองรันคำสั่งนี้ดู |
| 55 | + |
| 56 | +```sh |
| 57 | +gem update --system |
| 58 | +``` |
| 59 | + |
| 60 | +โชะ รันได้แล้ววว เป็นความรู้สึกปิติยินดีระดับหนึ่งเลยก็ว่าได้ แล้วก็มานึกออกอีกว่า งั้นสถานะปัจจุบันก็เหมือนบนวินโดว์แล้วดิ รัน local ได้ แต่ push แล้ว fail เลยกลับไปทบทวน commit แรกที่ทำให้ build ไม่ได้อีกครั้งว่าแก้อะไรไปบ้าง จะได้ลองแก้กลับมาเผื่อมันจะ build ผ่านเหมือนตอนก่อนเจ๊ง พบว่า commit นั้นแก้ไป 4 ไฟล์ ย่อรูปไฟล์นึง อันนี้ไม่น่าเกี่ยว, ปรับขนาดอักษรของหัวเรื่องสำหรับเบราเซอร์ในมือถือ อันนี้ก็ไม่น่าใช่, พิสูจน์อักษรโพสต์ของ [@titipata](https://twitter.com/titipat_a) ก็ไม่น่าใช่อีกอะ สุดท้ายคือแก้ warning บล็อกเก่าของตัวเองโดยการใส่ลิควิดแท็ก `{% raw %}{% raw %}{% endraw %}` เข้าไป อันนี้ดูจะมีแววสุด เลยมุ่งไปที่ไฟล์ของบล็อกนี้ แต่ยังไม่ทันจะได้แก้ [@titipata](https://twitter.com/titipat_a) ก็ทักมาบอกว่าคลีน `readme` ไปแล้วนะ push ไปแล้วด้วย ไอเราก็เอออเคๆ แต่มันจะ build ได้หรอวะ ก็ยังไม่ได้แก้อะไรใน commit ที่ทำให้ build ไม่ได้เลย แล้วก็กดเข้าไปดูในหน้า repo ของ |
| 61 | + |
| 62 | +<figure><center> |
| 63 | + <img width="300px" src="/images/post/buildfail/buildpass.jpg" data-action="zoom"/> |
| 64 | +</center></figure> |
| 65 | + |
| 66 | + ...... อึ้งครับ |
| 67 | + |
| 68 | + ขออีกที |
| 69 | + |
| 70 | + <figure><center> |
| 71 | + <img width="300px" src="/images/post/buildfail/buildpass-zoom.jpg" data-action="zoom"/> |
| 72 | +</center></figure> |
| 73 | + |
| 74 | +โอเค ผ่านก็ผ่าน ดีละ ปล่อยให้มันเป็นปริศนาต่อไป นอนดีกว่า |
| 75 | + |
| 76 | +เรื่องมันก็จบลงด้วยประการฉะนี้ ตอนนี้ tupleblog ก็สามารถรันได้ตามปกติทั้งบน local (Mac, Windows) และบน Github นะครับ ว่าแต่ไหนว่าบล็อกสั้น นี่มันไม่สั้นนะเนี่ย ขออภัยสำหรับการเกริ่นที่ไม่ค่อยตรงความจริงเท่าไหร่ ฮ่าๆ |
| 77 | + |
| 78 | +อนึ่ง บล็อกนี้เขียนขึ้นเพื่อระบายความงง และแทรกความบันเทิงเล็กน้อย ดังนั้นภาษาที่ใช้ก็อาจจะหลุดจากกึ่งทางการไปอีก ต้องขออภัยมา ณ ที่นี้ด้วยครับ สวัสดี |
0 commit comments