Composer 本地存储库未安装(Laravel)

Composer local repository not installing (for Laravel)

我正在开发一个 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)。

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

尝试将其更改为:

"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

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

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

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

在我的第三方包 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"
}