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

3
我想安装带有testsdocs文件夹的doctrine/dbal代码库。但是,使用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后,在doctrine/dbal包中没有tests文件夹。
1个回答

3

composer.json文件中,选项exclude与您的问题无关。当您将您的composer包制作成档案时使用此选项。

为什么有些文件夹被排除了?

/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 时,Composer 可以从两个不同的来源获取其数据:

Dist(分发):Dist 是打包的软件包数据。通常是一个已发布的版本,一般是一个稳定版本。

Source(源码):Source 用于开发。这通常来自源代码仓库,例如 git。当你想要修改已下载的软件包时,可以获取此项。

软件包可以提供其中之一,甚至两者都可以。取决于某些因素,例如用户提供的选项和软件包的稳定性,会优先选择其中之一。

Composer 的默认设置

当你的 Composer 配置为使用 stable 软件包并且首选安装方式是 dist 时。

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

然后,Composer从在.gitattributes中定义过滤器的 Github下载zip文件。这可以使Composer更快。

让Composer从源代码下载

如果您想要源代码,有两个选项:

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

它们都使Composer使用source下载 所有 包。 如果您只想要doctrine/dbal的源代码而不是所有包的源代码,则使用:

composer update doctrine/dbal --prefer-source

注意

如果已经存在需要从源码更新的文件夹(例如doctrine/dbal文件夹)在/vendor文件夹中,你需要先删除它,然后再进行重新安装。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接