Skip to content

🏗️ 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 读取生成的项目信息。

基于 MIT 许可证发布