Skip to content

♻️ Reinstall

使用 Composer 2.2+ 的原生命令重新安装指定的包,等价于 composer reinstall packageName

何时使用

  • 🩹 包安装损坏(文件缺失或被改动)后恢复。
  • 🔧 切换 --prefer-source / --prefer-dist 安装方式时重装。
  • 🧪 修复因缓存或中断导致的安装异常。

签名

go
func (c *Composer) Reinstall(packageName string) error

参数

参数类型说明
packageNamestring要重新安装的包名

返回值

类型说明
错误error重新安装包过程中发生错误时返回

示例

go
package main

import (
    "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.Reinstall("symfony/console"); err != nil {
        log.Fatalf("重新安装包失败: %v", err)
    }
}

进阶

ReinstallWithOptions

需要附加 --prefer-source--prefer-dist 等标志时使用:

go
func (c *Composer) ReinstallWithOptions(packageName string, options map[string]string) error
go
options := map[string]string{"prefer-source": ""}
err := comp.ReinstallWithOptions("symfony/console", options)

批量重装

一次重装多个包用 ReinstallMultiple(packages []string),等价于 composer reinstall pkg1 pkg2 ...

版本要求

reinstall 是 Composer 2.2+ 引入的原生命令。对于旧版本 Composer,请改用 Remove + RequirePackage 的组合实现重装。

🔍 相关方法

基于 MIT 许可证发布