怎样建立一个bower私库

本教程适用于centos

安装之前

检查nodejs

假设没安装nodejs依照下面步骤安装

$ su - 
$ yum install openssl-devel
$ cd /usr/local/src
$ wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
$ tar zxvf node-v0.10.29.tar.gz
$ cd node-v0.10.29
$ ./configure
$ make
$ make install

查一下版本,看有没有成功安装:  
$ node -v
v0.10.29


检查git

假设没安装,请依照下面步骤安装

$ sudo yum -y install git

開始安装bower私库

STEP 1 安装 git 和 git-deamon

$ sudo yum install -y git git-daemon

STEP 2 安装 private-bower

$ sudo npm install -g private-bower

STEP 3 设置 private-bower 

$ sudo su -
$ cd /data
$ mkdir private-bower
$ vim /data/private-bower-config.json


将下面内容粘贴进去:
{
    "port": 5678,
    "registryFile": "./private-bower/bowerRepository.json",
    "disablePublic": false,
    "publicRegistry": "http://bower.herokuapp.com/packages/",
    "repositoryCache": {
        "git": {
            "enabled": true,
            "cacheDirectory": "./private-bower/gitRepoCache",
            "host": "<bower server ip>",
            "port": 6789
        },
        "svn": {
            "enabled": true,
            "cacheDirectory": "./private-bower/svnRepoCache",
            "host": "<span style="font-family: Arial, Helvetica, sans-serif;"><bower server ip></span><span style="font-family: Arial, Helvetica, sans-serif;">",</span>
            "port": 7891
        }
    },
    "log4js" : {
        "enabled": true,
        "configPath" : "./private-bower/log4js.conf.json"
    }
}


当中的 <bower server ip> 换成你server在外部看起来的ip,由于假设有人已经用过这个库,比方 jquery,再次使用private-bower会让client直接连接server的6789port去获取缓存,所以这个host是给client识别用的


$ vim /data/private-bower/log4js.conf.json

{
    "appenders": [
        {
            "type": "dateFile",
            "filename": "./private-bower/private-bower.log",
            "pattern": "-yyyy-MM-dd",
            "alwaysIncludePattern": false
        },
        {
            "type": "console"
        }
    ],
    "replaceConsole": true
}


启动 private-bower
$ sudo su -
$ cd /data
$ private-bower --config ./private-bower-config.json
[2014-06-30 10:00:22.481] [INFO] console - [bower]  Refreshing public packages...
[2014-06-30 10:00:22.512] [INFO] console - [bower]  Bower server started on port 5678
[2014-06-30 10:00:22.538] [INFO] console - [bower]  Starting git cache server
[2014-06-30 10:00:22.543] [INFO] console - [bower]  Starting svn cache server
[2014-06-30 10:01:09.167] [INFO] console - [bower]  Loaded public packages




确保 private-bower 正常启动:
打开一个新窗体来訪问:
$ lynx http://localhost:5678/

会显示:
   
   Fork me on GitHub


Private Bower


   ____________________
   Docs Public Packages
   Private Bower service is down
   No private packages registered read docs about how to register packages.
   Loading Packages...


{{ package.name }}


   hits: {{ package.hits }}
   {{ package.repo }}


Created by


   BarnaToth


Barna Tóth


假设是这样。就安装完成了




client測试

$ sudo su -
$ npm install -g bower
$ su - wlsuser
$ bower help
$ vim .bowerrc
{ "registry": "http://<your private repository ip>:5678" }
$ cd <testdir>
$ bower install jquery


有用命令

删除库

使用 POST 方式发送json到 removePackage 路径

bower-server:5678/removePackage
{ "name": "package-name" }

清除本地bower缓存

$ bower cache clean



原文地址:https://www.cnblogs.com/zfyouxi/p/5162485.html