使用作曲家从私有存储库获取扩展



我必须在BitBucket上创建一个私有的yii2扩展,并使用作曲家将其安装在我的项目中。

据我所知,SSH 设置正确,起初并非如此 - 我收到错误"找不到存储库或您没有权限"(或类似的东西)。

作曲家找到了作曲家.json,我

删除了它进行测试,我收到一条错误消息"找不到有效的作曲家.json"。

现在,当我在 Git Bash 中运行composer update时,它只会打印"没有要安装或更新的内容",而我的vendor/文件夹中没有任何内容。

我在这里没有错误,任何想法都非常受欢迎!


我已经设置了存储库并添加了以下文件:

作曲家.json

{
    "name": "ext. name",
    "type": "yii2-extension",
    "description": "My desc",
    "authors": [
        {
            "name": "Jorgen",
            "email": "jorgen@domain.com",
            "homepage": "http://www.domain.com"
        }
    ],
    "minimum-stability": "stable",
    "support": {
        "source": "bitbucket.org/companyname/yii2-extensionname"
    },
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "2.0.*"
    },
    "autoload": {
        "psr-4": {
            "companyname\extensionname\": ""
        }
    }
}

.gitignore

vendor/**

模型/测试.php

<?php
namespace companynameextensionnamemodels;

class Test
{
}

我已经在我的 Yii2 项目 composer.json 中添加了以下内容:

"repositories": [
    {
        "type": "vcs",
        "url":  "ssh://git@bitbucket.org/companyname/yii2-extensionname",
    }
],

更新

所以我发现,如果我以这种格式添加我的存储库,它会找到并下载,但自动加载器-psr4.php 文件不会使用我的自动加载进行更新。

"repositories": [
{
    "type": "package",
    "package": {
        "name": "vendor/yii2-extension-name",
        "version": "master",
        "source": {
            "type": "git",
            "url": "git@bitbucket.org:vendor/yii2-extension-name",
            "reference": "origin/master"
        }
    }
}

当我有

"repositories": [
    {
        "type": "git",
        "url": "https://bitbucket.org/vendor/yii2-extension-name"
    }
],

我收到以下错误:

问题1 - 在任何版本中都找不到请求的软件包供应商/yii2扩展名,软件包名称中可能存在拼写错误。

潜在原因: - 包名称中的拼写错误 - 根据您的最低稳定性设置,该软件包没有足够稳定的版本 有关更多详细信息,请参阅 https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion。

阅读 https://getcomposer.org/doc/articles/troubleshooting.md 了解更多常见问题。

没有错别字,当我使用"package"时找到并下载它。但是自动加载器不会更新。我也尝试了git@,https和ssh的各种变体。它总是作为一个包工作,而不是作为一个git或vcs。

编辑:哦,故障排除时最小稳定性设置为dev

您必须使用正确的名称:

{
    "name": "vendor/yii2-extension-name",
    "type": "yii2-extension",

这通常是您的Bitbucket用户名,后跟存储库的名称。

这将适用于您的存储库编辑器设置:

"repositories": [
    {
        "type": "git",
        "url": "https://bitbucket.org/vendor/yii2-extension-name"
    }
],

相关内容

  • 没有找到相关文章