未找到Composer phar包

时间:2012-12-09 15:50:10

标签: php composer-php

我正在尝试创建一个新的作曲家库包。 我使用

创建了composer.json文件

composer.phar create-project xlix vendor/xlix/xlix 0.3

命令。

在文件系统中,文件composer.json存在于vendor/xlix/xlix下,出于测试目的,我将其复制到vendor/xlix

composer.json文件内容如下:

{
    "name": "xlix/xlix",
    "type": "library",
    "description": "XLIX package",
    "keywords": ["core"],
    "homepage": "http://myhomepage",
    "license": "GPL",
    "authors": [
        {
            "name": "Florian Kasper",
            "email": "florian.kasper@mymail"
        }
    ],
    "require": {
        "php": ">=5.2.4"
    },
    "autoload": {
        "psr-0" : {
            "Xlix\\Bundle" : "lib/"
        }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "1.0"
        }
    }
}

然后我尝试了以下命令:

git:(master) ✗  php composer.phar require xlix/xlix
git:(master) ✗  php composer.phat require vendor/xlix
...

git:(master) ✗  php composer.phar install vendor/xlix
git:(master) ✗  php composer.phar install xlix/xlix
...

每次输出相同的内容:

Please provide a version constraint for the xlix/xlix requirement: *
composer.json has been updated
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

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

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

在我的 ROOTDIR / composer.json 文件中,包已在require部分注册。

"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"kriswallsmith/assetic": "1.1.*@dev",
"xlix/xlix": ">=0.*"

现在我处于绝望的边缘,不知道该怎么做。

问题:

我犯过什么错误,或者我错过了什么?

1 个答案:

答案 0 :(得分:4)

软件包存在于互联网上,而不是文件系统上。

默认情况下,Composer会在packagistdoes not exists上搜索名为xlix/xlix的包。您可以使用repositories配置添加更多软件包存储库,更多信息请参见the documentation

因此,为了要求您的包与作曲家一起使用,您需要在某处上传xlix目录。


我在lxix目录中看不到你想要做什么?您在lxix包中,为什么要在同一个包中要求它?看起来你不明白这些命令的作用以及作曲家的工作原理。也许在他们自己的文档中阅读很好 - 或者关于Composer的其他一些教程(如nettuts+上的那篇) - 将帮助你更好地理解作曲家。