本地協作

首先,請確保您已安裝 Zed 的 後端依賴項

資料庫設定

在您可以在本地端執行 collab 伺服器之前,您需要設定一個 zed Postgres 資料庫。

script/bootstrap

此腳本將設定 zed Postgres 資料庫,並填入一些使用者。它需要網路連線,因為它會從 GitHub API 擷取一些使用者。

此腳本會使用以下定義的各種內容來初始化資料庫

cat crates/collab/seed.default.json

若要使用不同的管理員使用者集,您可以建立自己的 json 檔案版本,並匯出 SEED_PATH 環境變數。請注意,目前在管理員清單中列出的使用者名稱必須對應到有效的 Github 使用者。

{
  "admins": ["admin1", "admin2"],
  "channels": ["zed"]
}

在本地端測試協作功能

在一個終端機中,執行 Zed 的協作伺服器和 livekit 開發伺服器


foreman start

在第二個終端機中,執行兩個或多個 Zed 執行個體。


script/zed-local -2

此腳本會啟動一到四個 Zed 執行個體,具體取決於 -2-3-4 旗標。每個執行個體都會連線到本機 collab 伺服器,並以 .admins.json.admins.default.json 中的不同使用者身分登入。

執行本機協作伺服器

如果您想執行自己的 zed 協作服務版本,您可以這麼做,但請注意,這仍在開發中,並且沒有良好的驗證或擴充功能支援。

設定是透過環境變數完成的。預設情況下,它會從 .env.toml 讀取設定,您應該將其用作設定指南。

預設情況下,Zed 假設 DATABASE_URL 是 Postgres 資料庫,但您可以透過使用 --features sqlite 編譯並使用帶有 ?mode=rwc 的 sqlite DATABASE_URL 來使其使用 Sqlite。

若要進行驗證,您必須先建立一個至少包含您的 github 處理常式的 seed.json 檔案來設定伺服器。這將用於按需建立使用者。

{
  "admins": ["nathansobo"]
}

預設情況下,協作伺服器會在第一次建立資料庫時初始化資料庫,但如果您想新增更多使用者,您可以使用 SEED_PATH=./seed.json cargo run -p collab seed 明確地重新初始化它們。

然後,在執行 zed 客戶端時,您必須指定兩個環境變數,ZED_ADMIN_API_TOKEN(應與 .env.toml 中的 API_TOKEN 值相符)和 ZED_IMPERSONATE(應與 seed.json 中的其中一個使用者相符)