我可以在根文件夹中运行composer update并更新所有子文件夹composer.json文件吗?

时间:2018-04-23 10:40:19

标签: composer-php

我有一个WordPress应用程序,它有多个插件,这些插件都是使用Composer构建的,使用Composer来管理每个插件中的自动加载。

现在我想知道是否可以运行

composer install --no-dev

在项目根目录中,以某种方式触发在插件中运行所有作曲家安装,以便更新类图。

当我想通过从存储库中提取并使用某种持续集成执行构建来进行部署时,这很重要。

或者我是否需要在部署/构建脚本中手动指定为每个插件单独执行安装?

1 个答案:

答案 0 :(得分:1)

我认为Wordpress仍然没有真正的Composer集成,这对于没有参与Wordpress开发的每个人(包括我)来说都是一种耻辱,但项目可能有正当理由,或者它不是简单的任务(可能两者兼而有之)。

话虽如此:您无法在目录级别“one up”中运行Composer并批量更新子目录。但它应该只是一个简单的shell脚本的任务来迭代所有找到的目录,如果在里面找到composer.json,则更新(或安装)依赖项。

我的建议(包括随机数量的错误)将是:

#!/bin/bash

for dir in {*,subdirA/*,subdirB/*}
do
  if [ -d $dir ]
  then
    pushd $dir
      if [ -f composer.json ]
      then
        composer install
      fi
    popd
  fi
done
相关问题