{"id":264,"date":"2016-12-03T14:57:14","date_gmt":"2016-12-03T06:57:14","guid":{"rendered":"http:\/\/blog.inforere.com\/?p=264"},"modified":"2017-06-29T18:18:36","modified_gmt":"2017-06-29T10:18:36","slug":"%e6%90%ad%e5%bb%ba%e5%85%ac%e5%8f%b8%e7%a7%81%e6%9c%89composer%e8%b5%84%e6%ba%90%e5%ba%93","status":"publish","type":"post","link":"https:\/\/blog.inforere.com\/?p=264","title":{"rendered":"\u642d\u5efa\u516c\u53f8\u79c1\u6709composer\u8d44\u6e90\u5e93"},"content":{"rendered":"<h3>\u4f7f\u7528statis<\/h3>\n<div>\n<p>\u767b\u5f55252\u670d\u52a1\u5668<\/p>\n<pre class=\"lang:default decode:true\">cd \/data\/git\/satis\r\nvim satis.json\r\n\r\n{\r\n\u00a0 \u00a0 \"name\": \"Jz's Repository\",\r\n\u00a0 \u00a0 \"homepage\": \"http:\/\/packages.9z.cn\",\r\n\u00a0 \u00a0 \"repositories\": [\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"https:\/\/github.com\/composer\/composer\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"https:\/\/github.com\/php-fig\/log\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"https:\/\/github.com\/symfony\/debug\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"https:\/\/github.com\/symfony\/polyfill-mbstring\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"https:\/\/github.com\/symfony\/console\"},\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-core.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-console.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-db.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-tree.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-region.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-spider.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-wxsdk.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-segmentation.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-log.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-payment.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-project.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/ide-doc.git\"},\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-tcp.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-http.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-http1.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/syar.git\"},\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\"type\": \"vcs\", \"url\": \"git@test:repos\/j-api.git\"}\r\n\u00a0 \u00a0 ],\r\n\u00a0 \u00a0 \"require-all\": true,\r\n\r\n\u00a0 \u00a0 \"archive\": {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \"directory\": \"dist\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \"format\": \"tar\"\r\n\u00a0 \u00a0 }\r\n}<\/pre>\n<p>\u53ef\u4ee5\u4e0b\u8f7d\u4e00\u4e9b\u5e38\u7528\u7684\u5f00\u6e90\u5305\u7f13\u5b58\u5230\u516c\u53f8<\/p>\n<div>\n<div>\n<pre class=\"lang:default decode:true \">         {\u00a0 \u00a0\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"type\": \"package\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"package\" : {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"name\": \"composer\/composer\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"version\": \"1.2.3\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"dist\": {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"url\": \"https:\/\/github.com\/composer\/composer\/archive\/1.2.3.zip\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"type\" : \"zip\"\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 \u00a0 \u00a0 },\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 {\u00a0 \u00a0\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"type\": \"package\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"package\" : {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"name\": \"psr\/log\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"version\": \"1.0.2\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"dist\": {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"url\": \"https:\/\/github.com\/php-fig\/log\/archive\/1.0.2.zip\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"type\" : \"zip\"\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 \u00a0 \u00a0 },<\/pre>\n<\/div>\n<div>\n<p><b>\u751f\u6210\u9759\u6001\u8d44\u6e90\u5305<\/b><\/p>\n<pre class=\"lang:default decode:true \">php bin\/satis build satis.json www\/ [packname]<\/pre>\n<p>\u751f\u6210\u8fc7\u7a0b\u4e2d\u5982\u679c\u9700\u8981\u8f93\u5165Token, \u8bbf\u95ee\u63d0\u793a\u7684\u5730\u5740, \u5728github\u751f\u4ea7\u65b0token\u5373\u53ef<br \/>\n\u914d\u7f6enginx<\/p>\n<pre class=\"lang:default decode:true\">server {\r\n\u00a0 \u00a0 listen 80;\r\n\u00a0 \u00a0 server_name packages.9z.cn;\r\n\u00a0 \u00a0 root \/data\/git\/satis\/www;\r\n\u00a0 \u00a0 index index.html;\r\n\u00a0 \u00a0 charset utf-8;\r\n}<\/pre>\n<h3>\u4f7f\u7528\u79c1\u6709\u5305<\/h3>\n<\/div>\n<div>\u5c06\u5b89\u5168\u8fde\u63a5\u5173\u95ed<\/div>\n<div>\n<div>\n<pre class=\"lang:default decode:true\">composer config -g secure-http false<\/pre>\n<p>\u914d\u7f6e\u9879\u76eecomposer\u6e90<\/p>\n<\/div>\n<\/div>\n<div>\n<pre class=\"lang:default decode:true \">\u00a0 \u00a0 \u00a0\"repositories\":\u00a0[\r\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0 {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 \"type\":\u00a0\"composer\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 \"url\":\u00a0\"http:\/\/packages.9z.cn\"\r\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0 },\r\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0 {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 \"type\":\u00a0\"composer\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 \"url\":\u00a0\"https:\/\/packagist.phpcomposer.com\"\r\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0 },\r\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0 {\"packagist\":\u00a0false}\r\n\u00a0 \u00a0\u00a0 ],\r\n<\/pre>\n<p>\u53ef\u4e00\u5e76\u914d\u7f6egit\u9879\u76ee\u7528\u6237\u8bbf\u95ee\u6743\u9650<\/p>\n<\/div>\n<div><b>\u5b89\u88c5\u5305<\/b><\/div>\n<pre class=\"lang:default decode:true\">composer require LIB_NAME<\/pre>\n<p><b>\u5b89\u88c5\u9879\u76ee<\/b><\/p>\n<div>\n<pre class=\"lang:default decode:true \">cd your_path\r\ncomposer create-project --repository-url http:\/\/packages.9z.cn\/ stcer\/j-project YOUR_PROJECT_DIR dev-master\r\ncomposer create-project --no-dev --repository-url http:\/\/packages.9z.cn\/ stcer\/j-project project3 dev-master<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4f7f\u7528statis \u767b\u5f55252\u670d\u52a1\u5668 cd \/data\/git\/satis vim satis.json { \u00a0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,6],"tags":[31,34,33],"_links":{"self":[{"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/posts\/264"}],"collection":[{"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=264"}],"version-history":[{"count":5,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/posts\/264\/revisions"}],"predecessor-version":[{"id":269,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/posts\/264\/revisions\/269"}],"wp:attachment":[{"href":"https:\/\/blog.inforere.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}