php - 如何强制 Composer 下载本地包?

标签 php composer-php

假设我们有以下目录结构,我们假设 my-package 也存在于 Packagist 上:

- 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 清除了缓存,使用 composer remove my/package 删除了 my/package 并使用 重新安装了它composer require my/package --prefer-source (我不明白 --prefer-source 是否仅适用于 vcs)。下载的包还是不是本地包。如何强制 Composer 使用本地的?

最佳答案

"require": {
    "my/package": "*"
}

VCSpath 存储库类型的情况下,您需要指定您请求的包的版本。因此,不要像现在那样使用 *,而是使用 @dev:

"require": {
    "my/package": "@dev"
}

关于php - 如何强制 Composer 下载本地包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41782242/

相关文章:

javascript - Ajax /PHP/JSON : One GET parameter is missing

php - 如何使用 mySQL 在 php 中创建一个简单的登录

composer-php - 在 Composer 中,为什么有些依赖项 'Load' 来自缓存,有些依赖项 'clone' 来自缓存

php - 如果现有 mysql 数据重复或更多,如何编辑 "unique"

php - 如何在删除选定查询参数的同时使用 cakephp 重建 url?

Php Mysql - 从类别创建新类别

php - PSR 4 自动加载找不到类

composer-php - Composer/PSR - 如何自动加载函数?

npm - Composer 更新失败,错误为 "npm-signature"

php - 如何解决 Composer 更新的 ubuntu php 版本