假设我们有以下目录结构,我们假设Packagist上也存在my-package
:
- apps
\_ my-app
\_ composer.json
- packages
\_ my-package
\_ composer.json
要添加my/package
作为my-app的依赖关系the documentation,我们可以使用以下配置:
{
"repositories": [
{
"type": "path",
"url": "../../packages/my-package"
}
],
"require": {
"my/package": "*"
}
}
然而,当我composer update
时,仍然从Packagist下载依赖项。所以,看,我禁用了Packagist.org:
{
"repositories": [
{
"type": "path",
"url": "../../packages/my-package",
"packagist.org": false
}
],
"require": {
"my/package": "*"
}
}
我使用composer clearcache
清除了缓存,使用my/package
删除了composer remove my/package
并再次使用composer require my/package --prefer-source
安装了缓存(我不明白--prefer-source
是否适用仅限vcs)。下载的软件包仍然不是本地软件包。如何强制作曲家使用本地作品?
答案 0 :(得分:8)
"require": {
"my/package": "*"
}
如果是VCS
或path
存储库类型,则需要指定所请求的包的版本。因此,不要像现在一样使用*
,而是使用@dev
:
"require": {
"my/package": "@dev"
}
答案 1 :(得分:0)
为了
composer --version
Composer version 2.0.14
在 composer.json 文件中
"require": {
"my/package": "dev-master"
}