【发布时间】:2016-07-06 21:44:53
【问题描述】:
我必须在 BitBucket 上创建一个私有 yii2 扩展,并使用 composer 将其安装在我的项目中。
据我所知,SSH 设置正确,一开始并没有 - 我收到一个错误“找不到 repo 或您没有权限”(或类似的东西)。
作曲家找到了composer.json,我将其删除以进行测试,并收到一条错误消息“找不到有效的composer.json”。
现在,当我在我的 Git Bash 中运行 composer update 时,它只会打印 "Nothing to install or update",而我的 vendor/ 文件夹中没有任何内容。
我在这里没有错误,欢迎任何想法!
我已经设置了 repo 并添加了以下文件:
composer.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/**
models/Test.php
<?php
namespace companyname\extensionname\models;
class Test
{
}
我已将以下内容添加到我的 Yii2 项目 composer.json:
"repositories": [
{
"type": "vcs",
"url": "ssh://git@bitbucket.org/companyname/yii2-extensionname",
}
],
更新
所以我发现如果我以这种格式添加我的 repo,它会被找到并下载,但 autoloader-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 - 请求的包 vendor/yii2-extension-name 在任何版本中都找不到,可能包名有错别字。
潜在原因: - 包名中的拼写错误 - 根据您的最低稳定性设置,该软件包在足够稳定的版本中不可用 有关详细信息,请参阅https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion。
阅读https://getcomposer.org/doc/articles/troubleshooting.md了解更多常见问题。
没有错别字,在我使用"package"时找到并下载的。但是后来自动加载器没有更新。我还尝试了各种 git@、https 和 ssh 的变体。它始终作为一个包运行,而不是作为 git 或 vcs。
编辑:哦,排除故障时将最小稳定性设置为dev。
【问题讨论】:
标签: yii2 composer-php