【问题标题】:Composer local repository not installing (for Laravel)Composer 本地存储库未安装(对于 Laravel)
【发布时间】:2016-07-18 17:55:43
【问题描述】:

我正在开发一个 Laravel 包,我正在尝试使用 composer.json 中的 VCS 选项将它添加到我的项目中,但它没有安装。我已经尝试了以下

链接到我的 Vagrant 机器上的绝对路径

"repositories": [
    {
        "type": "vcs",
        "url": "/home/vagrant/Code/cld/gallery/packages/Notflip/cld/"
    }
],
"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "notflip/cld": "dev-master"
},

链接到我的 Windows 机器的绝对路径

"repositories": [
    {
        "type": "vcs",
        "url": "D:/Sites/cld/gallery/packages/Notflip/cld"
    }
],
"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "notflip/cld": "dev-master"
},

但没有任何效果,项目位于:

我在 Windows 机器上使用 Vagrant (Homestead)。

【问题讨论】:

    标签: php laravel repository composer-php


    【解决方案1】:

    我做的和@roj-vroemen 差不多,但有点不同。

    在我的情况下,在我的项目目录中创建一个名为 packages 的文件夹并在其上添加我的辅助包。

    • 项目目录
      • 富项目
      • 你好世界项目
        • 我的第三方包

    在 my-third-party-package composer.json 我添加以下行:

    {
        "name": "paubenetprat/my-third-party-package",
        "description": "My third party package description.",
        "type": "library",
        "require": {
            ...
        },
        "minimum-stability": "stable"
    }
    

    之后,在我的主项目 composer.json (foo-project) 上添加以下内容:

    "repositories": [
        {
            "type": "path",
            "url": "../packages/my-third-party-package",
            "options": {
                "symlink": true
            }
        }
    ],
    "require": {
        "paubenetprat/my-third-party-package": "dev-master"
    }
    

    最终你只需要运行:

    composer update paubenetprat/my-third-party-package

    指定dev-[current-project-branch] 很重要。如果您正在处理第三方软件包的功能 (feature/whatever-your-are-doing),您应该在主项目作曲家中指定它:

    "require": {
        "paubenetprat/my-third-party-package": "dev-feature/whatever-your-are-doing"
    }
    

    【讨论】:

      【解决方案2】:

      尝试将其更改为:

      "repositories": [
          {
              "type": "path",
              "url": "packages/Notflip/cld"
          }
      ],
      "require": {
          "php": ">=5.5.9",
          "laravel/framework": "5.2.*",
          "notflip/cld": "*"
      },
      

      并将以下内容添加到您的 composer.json

      "minimum-stability": "dev"
      

      您可以在此处找到更多信息:https://getcomposer.org/doc/05-repositories.md#path

      【讨论】:

      • 感谢您的回答,之后我运行“composer install”,但我再次收到“没有什么可安装或更新的内容”。
      • 当我做“作曲家更新”时,它试图从 Github 下载并失败,因为找不到 repo..
      • 你的包的composer.json中设置的包名是否正确?
      • 我自己在本地试用过。我认为问题在于您在 packagist 上有一个同名的包。一旦我更改了本地包名称,它就对我有用。你可以尝试在本地更改它以查看它是否有效?
      • 现在它让我知道找不到包裹.. 嗯,我到处都将 notflip 更改为 potvis.. 我们越来越近了! " - 在任何版本中都找不到请求的包 potvis/cld,包名可能有错别字。"
      【解决方案3】:

      Vcs 用于版本控制而非本地。使用类映射并将其指向包根目录可能会更幸运。

      【讨论】:

      • 你能用一个例子来编辑你的答案吗?奇怪的原因是“vcs”选项来自 Laracasts 教程,似乎在 mac 上工作。
      猜你喜欢
      • 2013-06-29
      • 2012-12-19
      • 2016-04-09
      • 2015-01-19
      • 2018-02-02
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多