【发布时间】:2014-02-12 00:36:23
【问题描述】:
这应该很容易。我开发了一个名为 MyVendor\MyPackage 的包
MyVendor\MyPackage 里面是:
- MyVendor\MyPackage\composer.json
- MyVendor\MyPackage\MyClass.php
MyVendor\MyPackage\composer.json 文件包含:
{
"name":"MyVendor/MyPackage",
"description":"MyClass!!!",
"keywords": ["MyKeyword"],
"homepage": "http://MyPackage.com",
"type":"library",
"license": "MIT",
"authors": [
{
"name": "ME",
"email": "ME@ME.com",
"homepage":"http://ME.com"
}
],
"require": {
},
"autoload":{
"psr-4" : {
"MyVendor\\MyPackage\\":""
}
}
}
现在我有另一个名为 MyOtherPackage 的项目,其 composer.json 文件如下所示:
{
"require": {
"monolog/monolog": "1.2.*",
"MyVendor/MyPackage": "1.0.0"
},
"autoload": {
"psr-4": {
"MyVendor\\MyOtherPackage\\": "MyOtherPackage/",
"MyVendor\\": "/"
}
},
"repositories": [
{
"type": "package",
"package": {
"name": "MyVendor/MyPackage",
"version": "1.0.0",
"source": {
"url": "https://ME.com/svn/MyVendor/MyPackage/",
"type": "svn",
"reference": "trunk"
}
}
}
]
}
所以 MyOtherPackage 依赖于 MyPackage。一切下载都很好,但如果我打开 autload_namespaces.php 它只包含独白。它看起来像这样:
return array(
'Monolog' => array($vendorDir . '/monolog/monolog/src'),
);
为什么MyVendor/MyPackage 没有出现在namespaces.php 或autoload_psr4.php 文件中? composer.json文件错了吗?
编辑我添加到 MyPackage composer.json 文件中。
【问题讨论】: