Skip to content

🏠 主页

在浏览器中打开项目或依赖包的主页(homepage)URL,或仅获取 URL 文本而不打开。

composer home 读取 composer.jsonhomepage 字段并在默认浏览器打开。Composer Skills 提供三个层次:当前项目主页、指定包主页、带自定义选项(如 --show 仅显示 URL)。

何时使用

  • 🔗 在 CLI 仪表盘里展示「打开项目主页」快捷动作。
  • 📦 依赖审查工具里快速跳转到某包的主页查看其文档。
  • 🔍 用 --show 仅获取 URL 文本,集成进你的报告或 Markdown 输出。
  • 🧰 CI 里把所有直接依赖的 homepage 收集成一个链接清单。

方法签名

方法签名说明
🏠 Homefunc (c *Composer) Home() (string, error)打开当前项目主页
📦 HomePackagefunc (c *Composer) HomePackage(packageName string) (string, error)打开指定包主页
⚙️ HomeWithOptionsfunc (c *Composer) HomeWithOptions(options map[string]string) (string, error)自定义选项

参数说明

HomePackage

参数类型说明
packageNamestring包名,如 symfony/console

HomeWithOptions

参数类型说明
optionsmap[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,避免依赖浏览器。

基于 MIT 许可证发布