🚀 CreateProject
基于一个已有的包(如框架骨架)创建一个全新的 Composer 项目,等价于执行 composer create-project package/name directory version。
何时使用
当你需要快速搭建一个新项目脚手架时使用,例如初始化一个 Laravel、Symfony 或 Yii 应用。传入空 version 表示安装最新版本;传入版本约束(如 ^5.0)则安装指定版本。
签名
go
func (c *Composer) CreateProject(packageName string, directory string, version string) error参数
| 参数 | 类型 | 说明 |
|---|---|---|
packageName | string | 包名,例如 laravel/laravel、symfony/website-skeleton |
directory | string | 项目要创建到的目标目录 |
version | string | 版本约束;传空字符串则使用最新版本 |
返回值
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)
}
// 创建最新版本的 Laravel 项目
if err := comp.CreateProject("laravel/laravel", "my-project", ""); err != nil {
log.Fatalf("创建项目失败: %v", err)
}
// 创建指定版本的 Symfony 项目
if err := comp.CreateProject("symfony/website-skeleton", "symfony-project", "^5.0"); err != nil {
log.Fatalf("创建项目失败: %v", err)
}
fmt.Println("项目创建完成")
}进阶
- 需要传入
--no-dev、--prefer-dist、--stability等额外选项时,使用CreateProjectWithOptions变体。 - 若只是初始化一个空的
composer.json,使用InitProject更合适。 - 创建完成后可通过
GetProjectInfo读取项目基本信息。