如何在CakePHP 2 Travis集成中自动加载Composer包

我正在使用Cake
PHP 2.x插件,该插件使用Composer来提取包依赖性.我现在正试图使用​​Cake of Cake的
Travis package在插件的存储库更新时自动运行我的单元测试.

据我所知,这不包括在我的供应商文件中加载所需的Composer自动加载文件.因此,我的测试失败,因为缺少第三方包中定义的类.

CakePHP 2’s advanced installation所述,我正在尝试将以下内容添加到bootstrap.php: –

require APP . 'Vendor' . DS . 'autoload.php';

我试图通过我的.travis.yml文件的before_script来附加bootstrap.php: –

before_script:
  - git clone https://github.com/FriendsOfCake/travis.git --depth 1 ../travis
  - ../travis/before_script.sh
  - echo "require APP . 'Vendor' . DS . 'autoload.php';" >> ../cakephp/app/Config/bootstrap.php

不幸的是,这作为文件APP失败了. ‘供应商’. DS. ‘autoload.php’无法找到. (我也尝试在APP中查找文件.’..’.DS.’供应商’.DS.’autoload.php’).

使用Travis安装CakePHP时,Composer autoload.php文件位于何处?当我的测试在Travis CI上远程运行时,如何确保加载第三方软件包?

最佳答案 第三方插件的默认目录名是供应商(小写),CakePHP有供应商,您可以在… / app / composer.json中更改它

{
   "config": {
      "vendor-dir": "Vendor" // CakePHP third party plugins dir name
   },
   "require": {
      ...
   }
}
点赞