使用作曲家从私人仓库获得扩展

时间:2016-03-20 11:32:15

标签: yii2 composer-php

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

根据我的理解,SSH设置正确,一开始并没有 - 我收到错误"没有找到回购或者你没有获得许可" (或类似的东西)。

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

现在当我在我的Git Bash中运行{ "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\\": "" } } } 时,它只打印"无需安装或更新" ,我的vendor/** 文件夹中没有任何内容。

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

我已经设置了回购并添加了以下文件:

composer.json

<?php

namespace companyname\extensionname\models;


class Test
{

}

的.gitignore

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

模型/ test.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"
        }
    }
}

我已将以下内容添加到我的Yii2项目中 composer.json

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

更新

所以我发现,如果我以这种格式添加我的repo,它可以找到并下载,但autoloader-psr4.php文件没有更新我的自动加载。

"package"

当我有

dev

我收到以下错误:

  

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

     

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

     

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

当我使用<!doctype html> <html> <head> <meta charset="utf-8"> <title>Parent</title> </head> <body> <iframe src="iframe.html"></iframe> <script src="https://code.jquery.com/jquery-1.12.2.min.js"></script> <script> $(function(){ console.log("document ready"); $("iframe").on("load", function(){ console.log("iframe loaded"); }); }); </script> </body> </html> 时,没有拼写错误,找到并下载了拼写错误。但是后来自动加载器没有更新。我还尝试了git @,https和ssh的各种变体。它总是作为一个包工作,从不作为git或vcs。

修改哦,故障排除时最小稳定性设置为<!doctype html> <html> <head> <meta charset="utf-8"> <title>Child</title> </head> <body> <p>Lorem ipsum</p> </body> </html>

1 个答案:

答案 0 :(得分:1)

必须使用正确的名称:

ImportWarning

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

这将适用于您的存储库Composer设置:

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