Skip to content

🔒 ValidateComposerLock

验证 composer.lock 文件是否存在且与 composer.json 保持同步。等价于执行 composer validate --check-lock

何时使用

需要确保 lock 文件未丢失、未因 composer.json 变更而失步时使用。常在 CI 中防止开发者提交了 composer.json 改动却忘记更新 lock 的情况。

签名

go
func (c *Composer) ValidateComposerLock() (string, error)

参数

该方法无参数。

返回值

返回值类型说明
第一返回值string验证命令的原始输出
第二返回值errorlock 缺失或不同步时返回

示例

go
package main

import (
	"fmt"
	"log"
	"strings"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	comp, err := composer.New(composer.DefaultOptions())
	if err != nil {
		log.Fatalf("初始化失败: %v", err)
	}

	output, err := comp.ValidateComposerLock()
	if err != nil {
		switch {
		case strings.Contains(output, "not found"):
			fmt.Println("缺少 composer.lock 文件")
		case strings.Contains(output, "not up to date"):
			fmt.Println("composer.lock 已过期,请运行 composer update")
		default:
			log.Fatalf("验证失败: %v", err)
		}
		return
	}
	fmt.Println("composer.lock 有效")
}

进阶

基于 MIT 许可证发布