首页 > 解决方案 > Install unstable fork

问题描述

I maintain a project that uses an abandoned library with a bug that affects me. I'd like to install a fork that includes the bugfix. I can't find the way.

Relevant settings were this:

{
    "type": "project",
    "license": "proprietary",
    "minimum-stability": "stable",
    "require": {
        "php": "5.3 - 5.6",
        "nuovo/spreadsheet-reader": "^0.5.11"
    },
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "vendor-dir": "Vendor/"
    }
}

I've tried too many things to share but my latest iteration is:

{
    "type": "project",
    "license": "proprietary",
    "minimum-stability": "dev",
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/virtua-network/spreadsheet-reader"
        }
    ],
    "require": {
        "php": "5.3 - 5.6",
        "nuovo/spreadsheet-reader": "dev-master"
    },
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "vendor-dir": "Vendor/"
    }
}

The package shows up in composer outdated:

PS D:\src> composer outdated
nuovo/spreadsheet-reader             0.5.11   dev-master f6bd49d Spreadsheet reader library for Excel, OpenOffice and structured text files

… but won't update:

PS D:\src> composer update nuovo/spreadsheet-reader
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating autoload files

Also, f6bd49d hash is not latest fork revision but latest original package.

How can I install the fork with Composer?

标签: composer-php

解决方案


您使用了不正确的包名称 - 在您的 fork 包中被命名为virtua-network/spreadsheet-reader,但您请求的是nuovo/spreadsheet-reader. 所以你的 fork被认为是一个nuovo/spreadsheet-reader包,而是一个virtua-network/spreadsheet-reader,所以使用了来自 Packagist 的原始包。您应该在fork 中恢复名称更改composer.json并将其保留为,或者在您的应用程序中nuovo/spreadsheet-reader使用新名称:requirecomposer.json

"virtua-network/spreadsheet-reader": "dev-master"

推荐阅读