📦 Install
根据 composer.json 安装项目的全部依赖项,可选择跳过开发依赖或优化自动加载器。
何时使用
当你拉取项目代码后、部署前,或 composer.lock 存在且需要按锁定版本还原依赖时使用。相当于执行 composer install [--no-dev] [--optimize-autoloader]。
签名
go
func (c *Composer) Install(noDev bool, optimize bool) error参数
| 参数 | 类型 | 说明 |
|---|---|---|
noDev | bool | 为 true 时不安装 require-dev 中的开发依赖 |
optimize | bool | 为 true 时优化自动加载器,生成类映射,提升生产环境性能 |
返回值
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)
}
// 开发环境:安装全部依赖(含开发依赖)
if err := comp.Install(false, false); err != nil {
log.Fatalf("安装依赖失败: %v", err)
}
// 生产环境:仅安装生产依赖并优化自动加载
if err := comp.Install(true, true); err != nil {
log.Fatalf("生产安装失败: %v", err)
}
fmt.Println("依赖安装完成")
}进阶
- 需要传入更多选项(如
--prefer-dist、--no-scripts)时使用InstallWithOptions。 - 只想模拟安装、不真正改动文件时使用
InstallDryRun。 - 强制从源码或分发包安装见
InstallWithPreferSource与InstallWithPreferDist。 - 跳过脚本执行见
InstallNoScripts。