Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Make gli an optional dependency (only bin/slack needs it)

已關閉
#601 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

@corsonknowles 已經在處理了。

開始於 2026年10月4日。

  • #602 來自 @corsonknowles —— 未關閉

評估

難度
3/5
預估耗時
1-2 天
新手友好度
72/100
Issue 類型
重構
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
ruby
領域
cli, tooling

研究方向

Start at bin/slack and the gem's runtime dependency declaration. Check how the CLI currently loads gli and how the Web/Events API client is used without it. Done means gli is no longer installed for API-only users, while bin/slack clearly asks users to add gli when it is missing.

由索引模型根據 Issue 內容生成。

描述

slack-ruby-client has a runtime dependency on gli, but gli is only used by the bin/slack command-line tool. Apps that use the gem purely as a Web/Events API client still install gli, along with gli's own runtime dependency on ostruct (GLI::Options < OpenStruct).

That matters now because Ruby 4.0 removed ostruct from the default gems, and apps that have otherwise removed OpenStruct still carry ostruct in their lockfile through slack-ruby-client → gli.

Options, in order of least disruption:

  1. Move gli to an optional dependency. Have bin/slack require 'gli' and fail with a clear message ("add gem 'gli' to use the slack CLI") when it's missing.
  2. Split the CLI into its own gem (e.g. slack-ruby-client-cli). #23 ("Partition this gem?") discussed this years ago.

Would either work for you? I'm happy to send a PR for option 1.

主要語言
Ruby
星號
1.3k
分支
223
平均合併
17 小時 9 分鐘
30 天內合併 PR
7

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

slack-ruby/slack-ruby-client 的其他 Issue

查看 slack-ruby/slack-ruby-client 的全部 Issue

相似的 Issue

更多 Ruby Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。