【问题标题】:How to use path type local repository with Composer如何在 Composer 中使用路径类型的本地存储库
【发布时间】:2016-09-20 20:33:22
【问题描述】:

我对 Composer 比较陌生,一直在寻找使用路径 repo 类型使用本地存储库的示例。我找到了几篇关于该主题的文章(例如 this onethis one,但是当我尝试这些示例时,我最终会收到如下错误:

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": "*"
    }
}

如果有人对我做错了什么有任何建议,我将非常感激!

【问题讨论】:

    标签: dependencies composer-php


    【解决方案1】:

    我找到了答案here

    而不是这个:

    {
        "repositories": [
            {
                "type": "path",
                "url": "../../packages/my-package"
            }
        ],
        "require": {
            "my/package": "*"
        }
    }
    

    你应该这样写:

    {
        "repositories": [
            {
                "type": "path",
                "url": "../../packages/my-package"
            }
        ],
        "require": {
            "my/package": "dev-master"
        }
    }
    

    请注意 require 部分中从 *dev-master 的更改。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 感谢您的回复。我尝试在 mylibrary 的 composer.json 文件中将“dev-master”更改为“*”,但使用路径的那个仍然不起作用。
      • 能否看到一个示例,说明您的 composer.json 文件是如何设置的?也许我可以从你的例子中学习。
      • 我认为你不需要 composer.json 中的 "version": "dev-master"
      • 我删除了它,但它并没有影响使用路径的 compoer.json 文件的项目。如果有人有一个关于如何使用 composer 通过使用路径而不是使用 psr-0 来共享文件的工作示例,我将不胜感激。
      • 是的,我没有这个想法。
      猜你喜欢
      • 2019-12-31
      • 2013-06-29
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      相关资源
      最近更新 更多