githubversion-controlcomposer-phppackagist

Composer package not found in any version


I am trying to create a custom vendor package but have not yet put the package on packagist. According to the docs, the package can be loaded from git (vcs) instead of packagist: https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository

The yii2 project (although don't think framework matters) I have created package inside vendor folder:

foundationize/yii2-foundation (folder structure is as above, I have quadruple-checked).

My root public_html/composer.json has following entries:

"minimum-stability": "dev",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": ">=2.0.5",
        "yiisoft/yii2-swiftmailer": "*",
        "foundationize/yii2-foundation": "dev-master" 
    },

My package composer file, vendor/foundationize/yii2-foundation/composer.json looks like:

{
    "name": "foundationize/yii2-foundation",
    "description": "The Foundation extension for the Yii2 framework",
    "keywords": ["yii2", "foundation"],
    "type": "yii2-extension",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/foundationize/yii2-foundation/issues",
        "wiki": "https://github.com/foundationize/yii2-foundation/wiki",
        "source": "https://github.com/foundationize/yii2-foundation.git"
    },
    "authors": [
        {
            "name": "gvanto",
            "email": "gvanto@hotmail.com",
            "homepage": "http://foundationize.com"
        }
    ],
    "require": {
        "yiisoft/yii2": "*"
    },
    "autoload": {
        "psr-4": {
            "foundationize\\foundation\\": ""
        }
    },
    "repositories": [
        {
            "packagist": false,
            "type": "vcs",
            "url": "https://github.com/foundationize/yii2-foundation.git"           
        }
    ]       
}

When I run composer install (or update), I keep getting error below:

Your requirements could not be resolved to an installable set of packages.

Problem 1 - The requested package foundationize/yii2-foundation could not be found in any version, there may be a typo in the package name.

Potential causes:

Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.

I have googled it high and low, read the docs can't seem to get it to work (always the same error, which I actually think would be more useful if it said either the package was not found OR the incorrect package version was found).


Solution

  • You have to add the repositories entry to your root composer.json file. Otherwise, Composer does not know where to search for your package.