怎样建立一个bower私库

时间:2022-02-09 19:11:32

本教程适用于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