在composer上使用alpha版本

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

我的开源库中有以下工作流程:

  1. 有一个分支
    next
    所有分支都应该从这里分支出来
  2. 用户处理功能
    X
    并向分支打开拉取请求
    next
  3. 我们将该功能合并到
    next
    并发布了标记为
    vx.x.x-alpha
  4. 的新版本
  5. 现在,消费者尝试使用以下方式升级套餐:
    composer require devqaly/devqaly-laravel "0.1.3-alpha"

每当消费者尝试更新软件包时,他都会收到以下错误:

➜  devqaly-example-app-api git:(master) ✗ composer require devqaly/devqaly-laravel "0.1.3-alpha"

./composer.json has been updated
Running composer update devqaly/devqaly-laravel
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires devqaly/devqaly-laravel 0.1.3-alpha -> satisfiable by devqaly/devqaly-laravel[v0.1.3-alpha].
    - devqaly/devqaly-laravel v0.1.3-alpha requires devqaly/devqaly-php 0.1.2-alpha -> found devqaly/devqaly-php[v0.1.2-alpha] but it does not match your minimum-stability.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

消费者尝试过什么

消费者尝试手动更新

package.json
文件以指定新版本并删除
vendor
文件夹。然后,运行
composer install
但仍然出现相同的错误。

问题

  1. 工作流程是否正确?我知道这里没有最终答案,但只是想了解是否可以改进

  2. 消费者为何会收到错误消息?

编辑1

这是我的

composer.json

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The skeleton application for the Laravel framework.",
    "keywords": ["laravel", "framework"],
    "license": "MIT",
    "require": {
        "php": "^8.1",
        "devqaly/devqaly-laravel": "v0.1.3-alpha",
        "guzzlehttp/guzzle": "^7.2",
        "laravel/framework": "^10.10",
        "laravel/sanctum": "^3.2",
        "laravel/tinker": "^2.8"
    },
    "require-dev": {
        "fakerphp/faker": "^1.9.1",
        "laravel/pint": "^1.0",
        "laravel/sail": "^1.24",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^7.0",
        "phpunit/phpunit": "^10.1",
        "spatie/laravel-ignition": "^2.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "pestphp/pest-plugin": true,
            "php-http/discovery": true
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": true
}

我还删除了

"minimum-stability"
"prefer-stable"
但错误仍然存在。

php composer-php
1个回答
0
投票

感谢@imabug,我已将

"minimum-stability"
中的
composer.json
设置为
alpha
,现在可以使用了。

"minimum-stability": "alpha",

这是它的文档

© www.soinside.com 2019 - 2024. All rights reserved.