私有composer包管理服務器搭建

用laravel框架也有一段時間了, 可是沒有寫過comoser包,面試的時候, 有人問寫過composer包沒。我說沒有寫過, 那東西很簡單。只有懂得composer的自動加載規範就能很容易寫一個包。nginx

寫composer包很簡單, 去https://packagist.org註冊一個帳號, 而後在github上建立一個composer包項目, 而後將信息填到packagist後臺, 這樣別人就能夠用composer來下載你的包了。laravel

這種包都是公開的, 可是在公司開發中, 有一些包是不能公開的。composer官網提出了幾種方法,下面來用satis來搭建私有composer包服務。git

1.下載satis源碼, 並安裝github

2.建立satis.json文件面試

{
    "name": "My Repository",
    "homepage": "http://satis.dev",
    "repositories": [
        { "type": "vcs", "url": "https://git.oschina.net/1129103472/ceshi.git" },
        { "type": "vcs", "url": "https://git.oschina.net/1129103472/ceshi-1.git" },
        {"packagist": false}
    ],
    "require-all" : true,
    "config":{"secure-http":false}
}

  repositories裏面每個項, 表明一個composer包, 都是。json

3. bin/satis build satis.json publiccomposer

4.配置nginx框架

server {
  listen 80 ;
  server_name satis.dev;
  root   /Users/lixiangyang/data/satis/public;
}

訪問satis.dev ,以下圖ui

在引用似有包的時候, composer.json要注意一下幾點,repositories設置, secure-http設置爲false,由於composer默認https, 依賴的包若是沒有release或者tag版本號設爲dev-master.url

{
    "repositories": [ { "type": "composer", "url": "http://satis.dev/" } ],
    "require": {
        "sapolang/ceshi": "1.0.0",
        "sapolang/ceshi-1": "dev-master"
    },
    "config" :{"secure-http":false}
}
相關文章
相關標籤/搜索