[php] 用composer自動驗證同時取得gitlab的私有函式庫的方法

little bottle
發布: 2019-08-02 16:37:14
轉載
3704 人瀏覽過

    這篇文章的主要內容是關於用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只顯示一次,記得保存下來,後面要用到。

[php] 用composer自動驗證同時取得gitlab的私有函式庫的方法

2.設定composer的認證資訊

  編輯~/.composer/auth.json(如果沒有該文件,就直接創建) 


 1 { 2     "bitbucket-oauth": {}, 3     "github-oauth": {}, 4     "gitlab-oauth": { 5     }, 6     "gitlab-token": { 7       "git.papamk.com": "" 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學習者快速成長!