我在Bitbucket.org
中有一个私有的Bitbucket.org
存储库。它由一个Laravel
项目组成,该项目可以作为composer
package
使用。我不想发布它,我只想通过将它包含在Laravel
中来使用我的其他composer.json
项目。我在googled上搜索了大量关于堆栈溢出的教程和问题/答案,但我仍然无法做到这一点。下面是我的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/"
}
},
我尝试了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
我是Bitbucket
新手,我怎么知道我是否正确地配置了所有的东西?
一步一步的配置将是很棒的,没有一个是我在网上发现的适合我的情况。
发布于 2018-08-15 12:01:23
下面的答案是我的个人笔记后,遵循这篇博客文章的指示,并看到它的工作。
非常感谢gizmola的博客文章和gview的评论指向它。
假设对于您的项目my-name/my-project
,您希望获得托管在bitbucket上的私有包myprovider/my-private-package
。
bitbucket settings
> access management
> oauth
- name: composer
- callback: (required but not used) `http://example.com`
- tick: this is a private consumer
- tick: `permissions` > `repositories` > `read`
- save
composer oauth consumer / user for private repos
获取密钥和秘密~/.composer/auth.json
,并确保它有替换xxxxx
和yyyyy
的位置
{ "bitbucket-oauth":{ "bitbucket.org":{“使用者-键”:"xxxxx",“消费者-秘密”:"yyyyyy“}}记住,如果私有包的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"
}
}
https://stackoverflow.com/questions/45570368
复制相似问题