[英]Can I programmatically trigger “composer update” using the Composer API?
我有一个运行的作曲家脚本,该脚本在类上调用静态方法。 我的类对composer.json文件做了一些改动,然后使用Composer API中的Composer\\Json\\JsonFile
类重写它:
composer.json
{
...
"scripts": {
"my-script": "MyScriptObject::doSomething"
}
}
我的问题是,如何使用Composer API从MyScriptObject
类内部触发Composer composer update
? 我不想使用pre-update-cmd
因为我无法将参数传递给它。
在查看API文档时,我看到有一个Composer\\Installer
类可以用来执行以下操作: Composer\\Installer::create(IOInterface $io, Composer $composer)->run()
,但Composer\\Installer::create(IOInterface $io, Composer $composer)->run()
执行安装并从锁定文件加载依赖项。 我想执行更新,以便重新生成锁定文件。
有人知道API中的位置吗?
答案就在我眼前。 我要做的只是在调用run之前使用setUpdate()
:
Composer\\Installer::create($this->io, $this->composer)->setUpdate(true)->run();
来源: https : //github.com/composer/composer/blob/1.0.0-alpha3/src/Composer/Installer.php#L489
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.