🏠 主页
在浏览器中打开项目或依赖包的主页(homepage)URL,或仅获取 URL 文本而不打开。
composer home 读取 composer.json 的 homepage 字段并在默认浏览器打开。Composer Skills 提供三个层次:当前项目主页、指定包主页、带自定义选项(如 --show 仅显示 URL)。
何时使用
- 🔗 在 CLI 仪表盘里展示「打开项目主页」快捷动作。
- 📦 依赖审查工具里快速跳转到某包的主页查看其文档。
- 🔍 用
--show仅获取 URL 文本,集成进你的报告或 Markdown 输出。 - 🧰 CI 里把所有直接依赖的 homepage 收集成一个链接清单。
方法签名
| 方法 | 签名 | 说明 |
|---|---|---|
| 🏠 Home | func (c *Composer) Home() (string, error) | 打开当前项目主页 |
| 📦 HomePackage | func (c *Composer) HomePackage(packageName string) (string, error) | 打开指定包主页 |
| ⚙️ HomeWithOptions | func (c *Composer) HomeWithOptions(options map[string]string) (string, error) | 自定义选项 |
参数说明
HomePackage
| 参数 | 类型 | 说明 |
|---|---|---|
packageName | string | 包名,如 symfony/console |
HomeWithOptions
| 参数 | 类型 | 说明 |
|---|---|---|
options | map[string]string | 如 {"show": ""} 仅显示 URL |
示例
打开当前项目主页
go
package main
import (
"fmt"
"log"
"github.com/scagogogo/composer-skills/pkg/composer"
)
func main() {
comp, err := composer.New(composer.DefaultOptions())
if err != nil {
log.Fatal(err)
}
out, err := comp.Home()
if err != nil {
log.Fatalf("打开主页失败: %v", err)
}
fmt.Println(out)
}打开某依赖包主页
go
out, err := comp.HomePackage("symfony/console")
if err != nil {
log.Fatal(err)
}
fmt.Println(out)仅获取 URL 而不打开浏览器
go
url, err := comp.HomeWithOptions(map[string]string{"show": ""})
if err != nil {
log.Fatal(err)
}
fmt.Println("主页 URL:", url)进阶
需要 homepage 字段
若 composer.json 没有 homepage 字段,composer home 会报错。本方法的错误会被包装为 ErrCommandExecution。
--show 用于无头环境
服务器或 CI 没有图形界面,composer home 直接调用会尝试启动浏览器而失败。用 HomeWithOptions(map[string]string{"show": ""}) 改为仅输出 URL,避免依赖浏览器。