使用私有 Bitbucket Mercurial 存储库配置composer.json

2024-01-22

我的项目使用我自己的库,该库位于 bitbucket.org 上的私人 Mercurial 存储库中。该库没有配置composer.json。

我尝试将该库作为我的项目的依赖项。

首先,我向composer.json写入以下字符串:

{
"require": {
    "php": ">=5.4",
    "myname/mylibname": "dev"
},

"repositories":[
    {
        "type": "hg",
        "url" : "https://bitbucket.org/myname/mylibname"
    }
]
}

和跑步composer install我有一个错误:

[运行时异常]
克隆失败https://bitbucket.org/myname/mylibname https://bitbucket.org/myname/mylibname,无法从中读取包
中止:需要 http 授权

比我变了"type": "hg" to "type": "vcs"并得到另一个错误:

[作曲家\存储库\InvalidRepositoryException]
在 https://***/mylibname 的任何分支或标记中都找不到有效的composer.json,无法从中加载包。

在额外阅读文档后,我将库的描述添加到项目的composer.json中,它开始看起来像这样:

{
"require": {
    "php": ">=5.4",
    "myname/mylibname": "dev"
},

"repositories":[

    {
        "type": "vcs",
        "url" : "https://bitbucket.org/myname/mylibname"
    },
    {
        "type":"package",
        "package":{
            "name":"myname/mylibname",
            "version": "dev",
            "source":{
                "type":"vcs",
                "url":"https://bitbucket.org/myname/mylibname",
                "reference":"dev"
            }
        }
    }
]}

发生了同样的错误:

[作曲家\存储库\InvalidRepositoryException]
在 https://***/mylibname 的任何分支或标记中都找不到有效的composer.json,无法从中加载包。

我删除了这部分:

        {
        "type": "vcs",
        "url" : "https://bitbucket.org/myname/mylibname"
    },

并得到一个错误:

[无效参数异常]
未知的下载程序类型:vcs。可用类型:git、svn、hg、perforce、zip、rar、tar、gzip、phar、file。

我变了"type": "vcs"回到"type": "hg",composer.json 看起来像:

{
"require": {
    "php": ">=5.4",
    "myname/mylibname": "dev"
},

"repositories":[
    {
        "type":"package",
        "package":{
            "name":"myname/mylibname",
            "version": "dev",
            "source":{
                "type":"hg",
                "url":"https://bitbucket.org/myname/mylibname",
                "reference":"dev"
            }
        }
    }
]}

和一个错误:

[运行时异常]
无法执行 hg clone 'https:/***/mylibname' '/path/to/myproject' 中止:需要 http 授权

除了composer.json之外,我的auth.json的结构是:

{
"http-basic": {
    "bitbucket.org": {
        "username": "myusername",
        "password": "mypassword"
    }
}
}

似乎bitbucket-oauth从 Composer 1.1 开始,该方法在当前状态下存在错误。这意味着您必须在客户端上设置 SSH 密钥,或者如果您像我一样由于部署服务器而无法设置密钥,则必须使用基本身份验证。

我让这个工作的唯一方法是:

〜/.composer/auth.json

{
    "http-basic": {
        "bitbucket.org": {
            "username": "bitbucketUsername",
            "password": "PasswordToBitbucket"
        }
    }
}

作曲家.json

"repositories": [
        {
            "url": "https://[email protected] /cdn-cgi/l/email-protection/username/my-package.git",
            "type": "git"
        }

],
"require": {
        "username/my-package": "dev-master"
},
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用私有 Bitbucket Mercurial 存储库配置composer.json 的相关文章

  • 为简单应用程序生成 PHAR

    我正在尝试使用 Symfony2 控制台库构建 CLI 工具 我已经有了一些基本的工作 现在我想将其打包为一个 Phar 我读过一些示例 但我看到的示例非常简单 3 个文件 没有命名空间等 In my src 目录我有以下内容 Above
  • GIT 或 SVN 或...适用于前端开发人员

    我最近开始将一些项目导入到工作中的 Subversion 存储库中 在接下来的几周内 我希望团队中的每个人都能负责自己的源代码控制管理 我选择 SVN 而不是 GIT 的原因是我想要everyone团队中的人员 包括设计师 前端人员 集成商
  • 有没有办法从另一个包访问结构体的私有字段?

    我在一个包中有一个具有私有字段的结构 package foo type Foo struct x int y Foo 另一个包 例如 白盒测试包 需要访问它们 package bar import foo func change foo f
  • 本地提交推送到中央服务器

    在工作中 我们使用 perforce 并被鼓励定期对其进行承诺 我对此很满意 然而 我想运行像 Mercurial 这样的东西 这样我就可以在本地提交正在进行的工作并且不一定编译 运行的东西 然后从中定期提交到中央 perforce 服务器
  • 使用 Composer CLI 将数据添加到额外属性

    根据文档extra的财产composer json 架构 https getcomposer org doc 04 schema md extra 允许设置 供脚本使用的任意额外数据 出于脚本目的 如果可以将数据添加到extra通过命令行属
  • 是否可以删除 BitBucket 上的拉取请求?

    我找不到在 BitBucket 上删除 PR 的选项 我是否忽略了某些事情或者这确实不可能 您可以拒绝具有相同结果的拉取请求 停止 删除 PR
  • 除了可访问性之外,访问说明符还有什么作用?

    除了对派生类可见或不可见的正常解释之外 它们还有其他区别吗 如果你让它更明显 它会占用更多或更少的内存 它会减慢速度还是 除了外部成员或派生类成员的可访问性之外 访问说明符还可能影响对象布局 引用自我的其他答案 https stackove
  • 作曲家和 Cygwin

    如果您尝试 全局 安装 Composer 则 Composer 无法在 Cygwin 中正确运行 将composer phar放入 usr local bin composer 然后尝试运行它会导致错误 Could not open inp
  • 为什么 Composer 更新需要访问数据库

    我正在使用 Symfony 2 8 并在启动一个简单的composer update命令 这个错误出现在我的开发环境中 我正在使用流浪虚拟机 这是错误 Doctrine DBAL Exception ConnectionException
  • 詹金斯钩子不工作 - 詹金斯位桶

    您好 我正在使用 jenkins 和 bitbucket 当我向 bitbucket 存储库提交任何内容时 我想触发 jenkins 中的构建 在詹金斯 我创建了一个名为test 1 在配置部分Build Triggers我勾选的部分Tri
  • Composer 安装失败并出现总线错误:10

    我正在尝试安装作曲家 curl sS https getcomposer org installer php 此操作失败并显示错误消息 Bus error 10 我也尝试过 php r readfile https getcomposer
  • hg 语法的作用是什么:提交 A 是否可以从提交 B“到达”

    我的存储库的历史非常复杂 我经常发现自己想知道过去的某个提交是否 在 或 可从 某个修订 通常是我的头脑之一 到达 我该怎么做呢 您可以使用转速集语法 http selenic com hg help revsets 假设您想询问修订版 4
  • 如何从python导入路径中删除当前目录

    我想使用 Mercurial 存储库hg本身 也就是说 我克隆了 Mercurialhttps www mercurial scm org repo hg https www mercurial scm org repo hg并想运行一些h
  • Mercurial .hgignore 负向前瞻

    使用 Mercurial 我需要忽略除名为 keepers 的某个目录中的文件之外的所有文件 从表面上看 使用 Regex 和 Negative Lookahead 似乎很容易 然而 尽管我能够在 Regex Buddy 和其他工具中验证我
  • 如何在 *Windows* 中将 Mercurial 存储库转换为 Git? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Windows 上将 Mercurial hg 存储库转换为 Git 7 https stackoverflow com questions 3267232 converting a mercur
  • Mercurial:使一个分支与另一个分支相同

    我正在与另一位相对较新的开发人员合作 为了让我能够对她的工作进行代码审查 我让她创建了一个分支 我可以审查该分支 如果我对更改感到满意的话 还可以定期合并该分支 该分支已被清除 所以我只想 重置 它 使其与主线相同 这样她就可以从干净的代码
  • 为什么“private val”和“private Final val”不同?

    我曾经以为private val and private final val是一样的 直到我看到 Scala Reference 中的第 4 1 节 常量值定义的形式为 final val x e 其中 e 是常量表达式 第 6 24 节
  • Mercurial on Phabricator:“远程:中止:流意外结束”

    我在尝试推送到远程服务器时遇到此问题 它是 Phabricator 上的 Mercurial 存储库 这是我的输出 hg commit m udpate README hg push pushing to ssh company serve
  • 无法将本地更改推送到远程位桶

    我在本地存储库中添加了一个新的自述文件 当我推送到开发分支时 出现此错误 分支 refs heads develop 只能通过拉取请求进行修改 与项目管理员检查您的分支权限配置 到 ssh bitbucket companyname com
  • hg 或 git 中的两个完整目录/项目之间存在差异?

    我继承了一个最初存储在 CVS 中的项目以及所有修订 我做了相当多的编辑 并且我试图比较我在原始目录中所做的所有更改 关于添加的新文件与旧文件 hg git 是否有某种实用程序可以让我进行树差异或类似性质的操作 也就是说 新添加的文件 删除

随机推荐