[php] 用composer自动验证同时获取gitlab的私有库的方法

little bottle
发布: 2019-08-02 16:37:14
转载
3573 人浏览过

本篇文章的主要内容是关于用composer自动验证同时获取gitlab的私有库的方法,感兴趣的朋友可以学习一下。

近期购买了Laravel的nova以后,需要对它的核心代码做一些修改,为方便与团队其他成员分享,以及在nova官方库更新后方便对差异管理。便将nova库挂在自己的gitlab,通过composer直接引用。

相关推荐:【composer教程

gitlab上全是私有库,composer获取需要认证,在本地测试时输入用户名/密码过认证倒不打紧,生产服务器上布署就有问题了,由于是自动布署,必须是全自动才行。经过一番折腾,composer可以通过配置gitlab的Private Token完成验证,获取到私有库,不用再输用户名密码。

为方便描述操作过程。这里以官方包laravel/nova为例,我将laravel/nova放到自已的gitlab上,路径为https://git.papamk.com/xxx/nova,并设置为私有库。我们的目标是composer可以直接获取该包而不用输入密码。

配置过程

1. 生成Private Token

  在gitlab上,在`User Settings`中找到`Access Tokens`,见下图:

⚠️⚠️⚠️:生成的token只显示一次,记得保存下来,后面要用到。

gitlab操作图

2.配置composer的认证信息

  编辑~/.composer/auth.json(如果没有该文件,就直接创建)


1 { 2 "bitbucket-oauth": {}, 3 "github-oauth": {}, 4 "gitlab-oauth": { 5 }, 6 "gitlab-token": { 7 "git.papamk.com": "<你的Private Token>" 8 }, 9 "http-basic": {},10 "gitlab-domains":["git.papamk.com"]11 }
登录后复制

注意点:

  • 除非你使用的是gitlab.com,否则你应该将gitlab的域名添加到gitlab-domains中;

3. 编辑 composer.json


{ // ...省略其他部分 "repositories": [ { "type": "gitlab", "url": "https://git.papamk.com/xxx/nova" } ], "require": { // ...省略其他包 "laravel/nova": "dev-master", } }
登录后复制

  重点:

  • type:必须是gitlab
  • 包名:官方包包名为laravel/nova,这里仍然要使用laravel/nova,不能使用xxx/nova

  到此大功告成,运行下composer install或者composer udpate试试。

其他问题

  有可能会出现配置正确,但是包的获取是直接从本地cache中直接读取的问题。这个时候,直接删除~/.composer/cache,再试一下即可。

相关教程:php从入门到精通

以上是[php] 用composer自动验证同时获取gitlab的私有库的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:cnblogs.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!