composer 包的不同来源

问题描述 投票:0回答:1

我需要对本地环境和任何其他环境(CI/Staging/测试/生产/等)使用不同的源。

我的

composer.json
看起来是下一个方向:

{
    "name": "laravel/laravel",
    "type": "project",
    "license": "proprietary",
    "require": {
        ...
        "my/package": "^2|@dev"
    },
    "config": {
        "preferred-install": {
            "my/package": "source",
            "*": "dist"
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": false,
    "repositories": [
        {
            "type": "path",
            "url": "../path/to/package/in/local/environment",
            "options": {
                "symlink": true
            }
        },
        {
            "type": "composer",
            "url": "https://private.registry.of/my/package"
        }
    ]
}

在本地环境中它可以工作,但是当我在生产中执行

composer install
时它会抛出:
Source path "../path/to/package/in/local/environment" is not found for package my/package
。这是可以理解的,但我不明白为什么它不尝试从注册表获取包。

php composer-php
1个回答
0
投票

在 Composer 文档中,有一个关于处理私有包的很好的部分:https://getcomposer.org/doc/articles/handling-private-packages.md

您可以将您的需求拆分为不同的 json 文件并根据您的环境管理您的包?

  • 常见包的composer.json
  • ci.json
  • 测试.json
  • ...
© www.soinside.com 2019 - 2024. All rights reserved.