2016-03-20 2 views
0

Мне нужно создать частное расширение yii2 на BitBucket и установить его в моих проектах с композитором.Получение расширения от частного репо с композитором

SSH настроен правильно, насколько я могу понять, это было не поначалу - и у меня возникла ошибка: «репо не найдено или у вас нет разрешения» (или что-то в этом роде).

Композитор находит композитор.json, я удалил его, чтобы проверить, и у меня появилось сообщение об ошибке: «valid composer.json not found».

Теперь, когда я бегу composer update в моей Git Bash он просто печатает «Ничего, чтобы установить или обновить» и ничего не появляется в моей vendor/ папке.

У меня нет никаких ошибок, чтобы продолжить здесь, любые идеи в основном приветствуются!


Я создал репозиторий и добавил следующие файлы:

composer.json

{ 
    "name": "ext. name", 
    "type": "yii2-extension", 

    "description": "My desc", 

    "authors": [ 
     { 
      "name": "Jorgen", 
      "email": "[email protected]", 
      "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 companyname\extensionname\models; 


class Test 
{ 

} 

И я добавил следующее к моему проекту Yii2 composer.json:

"repositories": [ 
    { 
     "type": "vcs", 
     "url": "ssh://[email protected]/companyname/yii2-extensionname", 
    } 
], 

Update

Так я понял, что если я добавьте мое репо в этом формате, он найден и загружен, но файл autoloader-psr4.php не обновляется с моей автозагрузкой.

"repositories": [ 
{ 
    "type": "package", 
    "package": { 
     "name": "vendor/yii2-extension-name", 
     "version": "master", 
     "source": { 
      "type": "git", 
      "url": "[email protected]:vendor/yii2-extension-name", 
      "reference": "origin/master" 
     } 
    } 
} 

Когда я

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

Я получаю следующее сообщение об ошибке:

Problem 1 - The requested package vendor/yii2-extension-name could not be found in any version, there may be a typo in the package name.

Potential causes: - A typo in the package name - The package is not available in a stable-enough version according to your minimum-stability setting see https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion for more details.

Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.

Там нет опечаток, его нашел и скачал, когда я использую "package". Но тогда автозагрузчик не обновляется. Я также пробовал всевозможные варианты с git @, https и ssh. Он всегда работает как пакет, а не как git или vcs.

Редактировать: oh, а минимальная стабильность установлена ​​на dev при устранении неполадок.

ответ

0

Вы должны использовать правильное название:

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

Это, как правило, ваше имя пользователя Bitbucket следует имя вашего хранилища.

Это будет работать с репозиториями настройки Композитор:

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

О, я что - я просто удалил его ради этого поста –

+1

Ого, вы абсолютно правы - я была маленькая опечатка в '' name "' -setting. Спасибо, человек, я не заметил - и не знал, что это важно. –

+0

Композитор очень тонкий - рад, что вы его отсортировали :) – jacmoe

Смежные вопросы