🏗️ InitProject
初始化一个新的 Composer 项目,生成一个基本的 composer.json 文件,等价于执行 composer init(交互式)。
何时使用
当你需要在一个空目录里创建一个全新的 composer.json、并接受 Composer 的交互式询问时使用。该方法会以交互方式询问项目名称、描述、作者、依赖等信息。
签名
go
func (c *Composer) InitProject() error参数
该方法无参数。
返回值
error:初始化项目过程中发生错误时返回相应错误信息,成功时为 nil。
注意
composer init 默认是交互式的。在非交互的自动化脚本中使用本方法可能会因缺少输入而失败,请改用 InitProjectWithOptions 并在选项中传入 --no-interaction。
示例
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)
}
// 在当前工作目录初始化 composer.json
if err := comp.InitProject(); err != nil {
log.Fatalf("初始化项目失败: %v", err)
}
fmt.Println("项目初始化完成")
}进阶
- 需要非交互式地指定项目名称、描述、作者等元信息时,使用
InitProjectWithOptions变体。 - 若要基于一个框架骨架创建完整项目(而非空
composer.json),请用CreateProject。 - 初始化完成后可用
GetProjectInfo读取生成的项目信息。