那些年的開源專案,你跑起來了嗎?

削微寒發表於2021-12-08

那些年,我的電腦還只是用來打 Dota 的遊戲機。

那些年,我為了完成畢設到處找原始碼。

那些年,我第一次知道書後的光碟中竟然藏有程式碼。

就這樣我靠著這份程式碼順利畢業,和兄弟們互道一句:“分頭打錢,有事兒TP!”,獨自踏上了程式設計師之路。

那是我第一次體驗到原始碼的威力,後來機緣巧合之下我闖入 GitHub 的世界。期間我建立的 HelloGitHub 共分享了 1900 多個開源專案,連載 5 年收穫了 4.9w Star。

地址:https://github.com/521xueweihan/HelloGitHub

我也從最初找不到原始碼憤然地叉掉 GitHub 網站,到後來如獲至寶般地收穫了各種開源專案,跌跌撞撞地闖進來了 GitHub 的大門。回想起第一次把開源專案跑起來的場景,我眼中飽含淚水仰天長嘯:“如果當年會這手,就不會被畢設壓制得毫無還手之力!”


隨著開源專案的不斷流行,對開源感興趣的人也越來越多。大多數剛接觸 GitHub 的人都是為了尋找某個有趣的開源專案、解決問題的開源專案或者慕名而來(HelloGitHub),但當你準備上手體驗開源專案的時候,可能就會被不知道專案怎麼下載沒找到中文版不會執行執行報錯等問題卡住,這時你的雙手已經摸到了 GitHub 大門,但就是怎麼使勁兒都拽不開!

這些問題我在剛接觸 GitHub 那些年都遇到過,我懂那種無助和沮喪。所以就有了這篇文章,希望我的經驗和總結能夠對你有所幫助,同時我還根據開源專案執行起來的難易程度,將文章分為:需要程式設計知識不需要程式設計知識 兩個部分,最後補充了一些如何快速看懂文件、找到問題答案的方法。

如果你不止一次嘗試執行開源專案,但都以失敗告終。那這次不管你會不會程式設計,只要讀完這篇文章就一定能踹開 GitHub 的大門!

一、我不會程式設計

“東西製造出來就是給人用的!” 只要掌握開啟它的方法,就會多一個順手的工具。

​HelloGitHub 中有很多讓人想要上手一試的開源專案,而且大多數專案根本不需要任何額外的操作和知識下載就能用,想要上手它們只需要找到下載地址就可以了。這裡我總結了幾個常見的下載入口:

  • Releases:專案釋出頁面
  • 官網:點進去就會看到下載地址
  • 應用商店:拿著應用名字去 谷歌商店(Android)、App Store(macOS)搜尋

下面將舉例進行詳細介紹,同時還會有如何線上體驗、如何找到中文版等。

1.1 Releases

Releases 是 GitHub 專案的釋出頁面,這裡提供各種安裝包的下載連結以及最新版本。比如這個專案:

ShareX:免費的 Windows 截圖錄製工具。功能強大支援全屏截圖、滾動截圖、檢測視窗截圖、GIF 錄製等,截圖後還支援在圖片上增加文字、水印、特效、馬賽克等,最後可直接上傳圖床得到連結,絲滑地完成整個截圖流程。

Releases 頁面入口位置如下圖:

點選進入後就能看到安裝包和原始碼壓縮包的下載地址,選擇想要下載的包即可。

最後列舉一下常見的安裝包檔案字尾:.exe(Windows)、.dmg(macOS)、.tar.gz(原始碼壓縮包、Linux)、.apk(Android)

1.2 官網

有些開源專案並沒有把安裝包放到 Releases 頁面,這個時候就需要去官網下載。這裡用 VSCode 舉例,一般情況下開源專案的官網地址,都放在很顯眼的位置(專案首頁),比如 VSCode 就放到了 About 部分。

進入官網,下載地址就映入眼簾,還自動匹配了系統。

關鍵字:Download、Releases

1.3 點開就能玩

有些開源專案貼心地提供了線上預覽和試玩的地址,點開就能玩。比如:

react-tetris:用 React+Redux+Immutable 做的俄羅斯方塊,包含詳細的技術介紹。線上試玩

線上體驗的連結一般在:About、專案首頁和官網的 Demo、Online 字眼的連結

1.4 有沒有中文

雖然 GitHub 上面的英文專案佔了很大部分,但其中也有提供了中文描述、中文文件、中文版本的開源專案。如果你在 GitHub 看到一本很好的開源書籍、教程、資料、文件,想找找有沒有中文版本。可以嘗試在專案首頁、官網尋找關鍵字:中文、Chinese、zh、cn,比如:

git-tips:常用 Git 命令集合。中文版本

總結:不會程式設計也可以玩 GitHub 開源專案的方法:

  1. 下載安裝包:Releases、官網
  2. 線上體驗:Demo、Online 點開就能用
  3. 找中文的關鍵字:中文、Chinese、zh、cn

二、我會程式設計

“不重複造輪子” 靠譜的開源專案,可以節約大量的開發時間。近距離接觸大神們的程式碼,耳濡目染你也會慢慢變強。這部分我將分為:庫、服務和專案,下面將逐一介紹它們的安裝、部署和執行的方法。

2.1 庫

當你找到一個解決問題的庫,不要著急 clone 專案。一般情況下開源庫都提供了對應程式語言的包管理器安裝命令,一條命令就能完成安裝。比如:

  • Python:pip install rich
  • Go:go get github.com/gorilla/websocket
  • Ruby:gem install ruby-pinyin
  • JavaScript:npm install echarts --save
  • 等等

又或者前端 CSS 和 JS 對應的 CDN 連結,直接拿來用即可。

normalize.css:用來消除瀏覽器預設樣式的 CSS 庫。不同瀏覽器對於同一個元素會有不一樣的預設樣式,比如:超連結線的顏色。相較於 reset(重製樣式)解決辦法,normalize.css 採用更加和平且高效的方式,解決了瀏覽器預設樣式的問題,儘可能讓同一個 CSS 檔案在不同的瀏覽器上顯示效果一樣。

CDN:https://cdn.jsdelivr.net/npm/normalize.css

關鍵字:pip、npm、CDN 等

2.2 服務

這裡的“服務”特指資料庫、快取、搜尋等基礎服務,這種基礎服務的開源專案都會詳細地提供不同作業系統的安裝方式。比如:

meilisearch:Rust 寫的輕量級開源搜尋引擎。

部署方式:

  • macOS:brew update && brew install meilisearch
  • Docker:docker run -p 7700:7700 -v "$(pwd)/data.ms:/data.ms" getmeili/meilisearch
  • Linux:curl -L https://install.meilisearch.com | sh

關鍵字:install、brew、docker、curl、apt、yum 等

2.3 專案

其實專案(完整的應用)大多是由庫、基礎服務組成,所以要把一個開源專案跑起來,就三板斧

  1. 安裝依賴庫、服務
  2. 初始化配置
  3. 找到啟動入口

這裡拿一個 Web 專案舉例:

wagtail:強大的開源 Django CMS(內容管理系統)。專注於內容管理,不束縛前端實現。有趣的 StreamField 技術讓你的內容變得靈活且不失結構,竟然還支援 A/B 測試,Google 和 NASA 都在用它。

執行步驟:

1. 安裝庫:pip install wagtail
2. 初始化專案:wagtail start mysite
3. 進入目錄:cd mysite
4. 安裝依賴:pip install -r requirements.txt
5. 初始化資料庫:python manage.py migrate
6. 新建超級管理員:python manage.py createsuperuser
7. 啟動專案:python manage.py runserver

關鍵字:start、run、main、init、begin、server

總結:不同程式語言的專案,在部署、安裝、執行各個步驟都有區別,但你只需牢記三板斧關鍵字,就能專案中找到答案。如果沒找到,請看下一部分!

三、作者留下的答案

“你遇到的問題,大多數情況下別人都遇到過。” 開源專案的作者把專案開源,第一個願望就是有人用。所以,如果你在使用中遇到問題,先去尋找下作者留下的解決辦法,然後找找有沒有遇到同樣問題的人,沒有的話可以向作者提問。實在不行,就去原始碼中尋找答案!

3.1 文件

專案首頁展示的都是關鍵資訊,一般情況下只會給出文件的連結和示例程式碼的片段。

如果首頁的資訊不夠用,就去文件中尋找辦法:

  1. 完整瀏覽文件的快速開始部分,記下常用函式和功能(上手)
  2. 帶著問題看文件,善用文件的搜尋功能,搜問題的關鍵字(遇到問題)

關鍵字:document、doc、wiki、example、demo、usage

3.2 Issues

Issues 是 GitHub 專案的提問頁面,作者會在這裡回覆大家的問題。如果你遇到問題,不要著急提問先在 issues 搜一下,看看有沒有相同問題已經問過了,沒準就找到解決辦法了。

提問時提供的資訊越多:系統、環境、異常資訊、做過的嘗試,得到的答覆越準確,還可以拿著問題再去搜尋引擎碰碰運氣。

關鍵字:issues、error、fail、close

3.3 在原始碼中找答案

原始碼面前沒有祕密,同時作者也會在註釋中留下線索,助你找到問題的答案。無需下載和安裝外掛,僅需 2 步就能線上閱讀原始碼:

  1. 把輸入法切換到英文
  2. 在專案首頁按下 .

總結:尋找問題最快的方式不是提問,而是找到“答案頁”。你遇到的每個問題都是變強的墊腳石,對問題多些耐心、多些嘗試、少些提問,久而久之你解決問題的能力就會有質的飛躍,執行起開源專案也會更加得心應手。

最後

以上就是我總結的《如何把 GitHub 專案跑起來》的所有方法,希望對你有所幫助。那些年我踩過的坑,希望你通過本文可以輕鬆躍過。

找找那些年不會玩、執行不起來的開源專案,實驗下本文介紹的方法好不好用。如果沒有就去 HelloGitHub 找找有趣的開源專案吧!

最後,GitHub 訪問慢、無法訪問等網路問題,可以試試:

https://raw.hellogithub.com/

相關文章