如何通过composer下载排除的路径?

时间:2015-01-27 11:56:29

标签: php doctrine-orm composer-php

我想在doctrine/dbaltests个文件夹中安装docs存储库。但是使用composer installcomposer update我找不到办法怎么做?

doctrine/dbal - >中排除了它们composer.json档案:

"archive": {
  "exclude": ["!vendor", "tests", "*phpunit.xml", ".travis.yml", "build.xml", "build.properties", "composer.phar"]
}

有没有办法强制安装? 我认为必须有一种方法来下载它,例如在我的本地机器上运行测试。

修改

我还尝试使用require-dev,但在composer update之后,tests包中没有doctrine/dbal个文件夹。

1 个答案:

答案 0 :(得分:2)

exclude文件中的选项composer.json无论如何都与您的问题无关。当您从作曲家包中进行存档时,将使用此选项。

为什么排除某些文件夹?

/docs文件中排除了/tests.gitattributes文件夹:

/tests export-ignore
/docs export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.gitmodules export-ignore
.travis.yml export-ignore
build.properties export-ignore
build.xml export-ignore
phpunit.xml.dist export-ignore
run-all.sh export-ignore
composer.lock export-ignore

那么如何才能将它们下载?

首先,有两个不同的来源,作曲家可以从composer installcomposer update获取数据:

  

Dist: dist是包数据的打包版本。通常是发布版本,通常是稳定版本。

     

来源:该来源用于开发。这通常源自源代码存储库,例如git。你可以去取   当您想要修改下载的包时。

     

包可以提供其中任何一个,甚至两者。取决于   某些因素,例如用户提供的选项和稳定性   包装,一个将是首选。

作曲家的默认

当您的作曲家处于默认配置时,使用stable个套件,首选安装为dist

"config": {
    "preferred-install": "dist"
},
"minimum-stability": "stable"

然后,composer从github下载一个zip文件,该文件是使用.gitattributes中定义的过滤器创建的。这使得作曲家更快。

从源代码下载作曲家

如果您想拥有这些来源,您有两种选择。

  1. 制作"preferred-install": "source"
  2. 使用--prefer-source
  3. 上的composer update选项

    它们都使作曲家对{em>所有包使用source。 如果您只想使用doctrine/dbal的来源而不是所有包的来源,请使用:

    composer update doctrine/dbal --prefer-source
    

    注意

    如果doctrine/dbal文件夹已存在,则必须删除/vendor文件夹(或您希望从源代码更新的任何文件夹)以重新安装。