Skip to content

🌐 GlobalRequire

在 Composer 全局环境中安装(require)一个包,使其提供的命令行工具在系统任意位置可用。

何时使用

当你需要安装全局可用的 CLI 工具(如 php-cs-fixerpsy/psysh)时使用。这些包会被安装到 Composer 的全局目录,对应的可执行文件会进入全局 vendor/bin

签名

go
func (c *Composer) GlobalRequire(packageName string, version string) error

参数

参数类型说明
packageNamestring要全局安装的包名,例如 symfony/console
versionstring版本约束,例如 ^5.0;传空字符串则安装最新版本

返回值

error:执行过程中发生错误时返回相应错误信息,成功时为 nil

示例

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)
	}

	// 全局安装 psysh,使用最新版本
	if err := comp.GlobalRequire("psy/psysh", ""); err != nil {
		log.Fatalf("全局安装失败: %v", err)
	}

	// 全局安装指定版本
	if err := comp.GlobalRequire("friendsofphp/php-cs-fixer", "^3.0"); err != nil {
		log.Fatalf("全局安装失败: %v", err)
	}

	fmt.Println("全局安装完成")
}

进阶

基于 MIT 许可证发布