Mar*_*s B 9 git oauth bitbucket composer-php
我有一个私人Git存储库Bitbucket.org.它包含一个Laravel可以用作的项目composer package.我不想发布它,我只是希望能够通过将其Laravel包含在其他项目中来使用它composer.json.我搜索了很多关于stackoverflow的教程和问题/答案,但我仍然无法做到这一点.以下是我的composer.json文件中应该相关的部分:
"require": {
"php": ">=5.6.4",
"myprovider/mypackage": "*",
"laravel/framework": "5.4.*",
"laravel/tinker": "~1.0"
},
"repositories": {
"myrepository": {
"type": "vcs",
"url": "https://bitbucket.org/me/myrepository/"
}
},
Run Code Online (Sandbox Code Playgroud)
我试过了composer require myprovider/mypackage:*,但后来我收到了一个错误Could not fetch https://api.bitbucket.org/2.0/repositories/me/myrepository?fields=-project%2C-owner, please create a bitbucket OAuth token to access private repos.因为我实际创建的OAuth令牌之前,我粘贴所需要的Consumer Key和Consumer Secret后来我得到这个:
Invalid OAuth consumer provided.
This can have two reasons:
1. You are authenticating with a bitbucket username/password combination
2. You are using an OAuth consumer, but didn't configure a (dummy) callback url
Installation failed, reverting ./composer.json to its original content.
[Composer\Downloader\TransportException]
The "?pagelen=100&fields=values.name%2Cvalues.target.hash%2Cnext&sort=-target.date"
file could not be downloaded: failed to open stream: Resource temporarily unavailable
Run Code Online (Sandbox Code Playgroud)
我是新手Bitbucket,我怎么知道我是否正确配置了一切?
一步一步的配置会很棒,我在网上找到的那些都不适合我的情况.
Hub*_*0xx 12
以下答案是我按照这篇博客文章的说明并看到它起作用后的个人笔记。
非常感谢 gizmola 的博客文章和 gview 指向它的评论。
假设对于您的项目,my-name/my-project您希望myprovider/my-private-package在 bitbucket 上托管私有包。
bitbucket settings> access management>oauth添加 oauth 消费者
http://example.compermissions> repositories>read从中获取密钥和秘密 composer oauth consumer / user for private repos
打开/创建~/.composer/auth.json并确保它具有替换xxxxx和yyyyy
{
"bitbucket-oauth": {
"bitbucket.org": {
"consumer-key": "xxxxx",
"consumer-secret": "yyyyyy"
}
}
}
Run Code Online (Sandbox Code Playgroud)将您的包添加到您的 composer.json 中
{
"name" : "my-name/my-project",
"description" : "my project",
"repositories": [
{
"type": "git",
"url": "https://bitbucket.org/myprovider/my-private-package.git"
}
],
"require": {
"myprovider/my-private-package": "*"
}
}
Run Code Online (Sandbox Code Playgroud)请记住,如果私有包的 composer.json 未minimum-stability设置(例如设置为dev),它将无法工作。
composer.json 的示例 myprovider/my-private-package
{
"name": "myprovider/my-private-package",
"description": "my private package",
"keywords": ["private package", "private", "package"],
"type": "package",
"version": "1.0.0",
"minimum-stability": "dev",
"license": "MIT",
"authors": [
{
"name": "John Doe",
"email": "john.doe@example.com"
}
],
"autoload": {"psr-0": {"": "src"}},
"require-dev": {
"behat/behat": "^3.4"
}
}
Run Code Online (Sandbox Code Playgroud)