Dependencies 如何将路径类型本地存储库与Composer一起使用

Dependencies 如何将路径类型本地存储库与Composer一起使用,dependencies,composer-php,Dependencies,Composer Php,我对Composer比较陌生,一直在寻找使用path repo类型的本地存储库的示例。我找到了几篇关于这个主题的文章(例如和),但当我尝试这些例子时,我最终得到了如下错误: The requested package myvendor/mylibrary could not be found in any version, there may be a typo in the package name. 所以我想我应该创建一个超级简单的例子来说明我正在尝试的,希望有人能给我指出正确的方向 我的

我对Composer比较陌生,一直在寻找使用path repo类型的本地存储库的示例。我找到了几篇关于这个主题的文章(例如和),但当我尝试这些例子时,我最终得到了如下错误:

The requested package myvendor/mylibrary could not be found in any version, there may be a typo in the package name.
所以我想我应该创建一个超级简单的例子来说明我正在尝试的,希望有人能给我指出正确的方向

我的示例应用程序组织如下:

├── app1
│   └── composer.json
├── app2
│   └── composer.json
└── libraries
    └── testlibrary
        ├── composer.json
        ├── TestService.php
libraries/testlibrary/composer.json
中包含以下内容:

{
  "name": "myvendor/mylibrary",
  "version": "dev-master"
}
在每个应用程序文件夹(例如app1)中,
composer.json
文件如下所示:

{
    "repositories": [
        {
            "type": "path",
            "url": "../libraries/testlibrary"
        }
    ],
    "require": {
        "myvendor/mylibrary": "*"
    }
}

如果有人对我所做的错误有任何建议,我将非常感激!

您的设置看起来是正确的。我也使用该解决方案。我认为问题出在其他地方。尝试将
*
约束更改为类似
dev master
的内容。如果这不能解决问题,请从
发布您的
composer.json
>我的图书馆

我找到了答案

与此相反:

{
“存储库”:[
{
“类型”:“路径”,
“url”:“../../packages/my package”
}
],
“要求”:{
“我的/包”:“*”
}
}
你应该这样写:

{
“存储库”:[
{
“类型”:“路径”,
“url”:“../../packages/my package”
}
],
“要求”:{
“我的/包”:“开发主机”
}
}

请注意在
要求
部分中从
*
更改为
开发主机

感谢您的回复。我尝试将“开发主机”更改为“*”在mylibrary的composer.json文件中,但使用path的文件仍然不起作用。是否可以查看如何设置composer.json文件的示例?也许我可以从您的示例中学习。我认为您不需要
“版本”:“dev master”
在composer.jsonI中删除了这一点,但它不会影响使用path的compore.json文件的项目。如果有人有一个如何使用composer通过path而不是使用psr-0共享文件的工作示例,我将非常感激。是的,我对这一点没有想法。