Skip to content

✅ IsPackageInstalled

检查指定包是否已安装,等价于执行 composer show <包名> 并判断命令是否成功。

何时使用

在调用某个包提供的功能前,先确认它是否已被安装到当前项目。例如工具链在加载插件前,先用它判断插件包是否存在。

签名

go
func (c *Composer) IsPackageInstalled(packageName string) bool

参数

参数类型说明
packageNamestring要检查的包名,如 symfony/console

返回值

返回值类型说明
唯一返回值bool包已安装返回 true,未安装或命令失败返回 false

示例

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.Fatalf("初始化失败: %v", err)
	}

	if comp.IsPackageInstalled("symfony/console") {
		fmt.Println("symfony/console 已安装 ✅")
	} else {
		fmt.Println("symfony/console 未安装 ❌")
	}
}

进阶

基于 MIT 许可证发布