🌐 GlobalRequire
在 Composer 全局环境中安装(require)一个包,使其提供的命令行工具在系统任意位置可用。
何时使用
当你需要安装全局可用的 CLI 工具(如 php-cs-fixer、psy/psysh)时使用。这些包会被安装到 Composer 的全局目录,对应的可执行文件会进入全局 vendor/bin。
签名
go
func (c *Composer) GlobalRequire(packageName string, version string) error参数
| 参数 | 类型 | 说明 |
|---|---|---|
packageName | string | 要全局安装的包名,例如 symfony/console |
version | string | 版本约束,例如 ^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("全局安装完成")
}进阶
- 如需一次安装多个包,使用
GlobalRequireMultiple。 - 如需传入
--prefer-dist、--no-progress等额外选项,使用GlobalRequireWithOptions变体。 - 卸载全局包请用
GlobalRemove。 - 配套的更新方法是
GlobalUpdate。