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

怎样建立一个bower私库的更多相关文章

  1. Docker version 1.12.5建立registry私库

    sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry :前面的是宿主机的地址(/opt/da ...

  2. DevOps - 项目私库 - Nexus Repository

    相关链接 Sonatype官网:https://www.sonatype.com Products: Nexus Repository OSS2.x & 3.x Documentation:  ...

  3. maven私库nexus2.11.4迁移升级到nexus3.12.0

    nexus简介 nexus是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问. nexus是一套开箱即用的系统不需要数据库,它使用文件系统加Lucene来组织数据 .n ...

  4. Windows下用Codeblocks建立一个最简单的DLL动态链接库

    转自:http://blog.csdn.net/wangwei_cq/article/details/8187576 来源:http://hi.baidu.com/hellosim/item/9ae4 ...

  5. OSG入门即osgEarth建立一个地球的详细步骤

    OSG入门即osgEarth建立一个地球的详细步骤 转:http://blog.csdn.net/xiaol_deng/article/details/9246291 最近在学习有关osg的知识,刚开 ...

  6. APICloud支持Atom编辑器,并建立开发工具核心库

    APICloud支持Atom编辑器开发工具 APICloud始终坚持多开发工具支持策略,开发者无论使用Sublime Text3.Eclipse还是Webstorm,都可以在APICloud平台中找到 ...

  7. Protel99se教程一:建立一个数据库文件

    学习Protel99 SE的第一步,是建立一个DDB文件,也就是说,使用protel99se进行电路图和PCB设计,以及其它的数据,都存放在一个统一的DDB数据库中的 一.打开protel 99se后 ...

  8. jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互、特效、小部件及主题

    jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互.特效.小部件及主题.无论您是创建高度交互的 Web 应用程序还是仅仅向窗体控件添加一个日期选择器,jQuery ...

  9. ROS学习记录(四)————怎样建立一个package包?

    功能包是什么? 英文表述package,我可没有在炫英文啊,我的英文很烂的,只是在提醒大家,在ROS系统中,这个词使用的频率非常之高,你必须记住它,要不就没法正确的看懂信息.言归正传,package是 ...

随机推荐

  1. 问题解决: WordPress on SAE注册邮件无法发送

    方法一: 修改代码 Step 1: 改写wp-includes/pluggable.php, 把WordPress默认邮件设置改为SMTP模式. // Set to use PHP's mail() ...

  2. 我的Python成长之路---第八天---Python基础(25)---2016年3月5日(晴)

    多进程 multiprocessing模块 multiprocessing模块提供了一个Process类来代表一个进程对象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  3. c语言中双维数组与指针的那点事儿

    说起c语言的指针,估计对c语言只是一知半解的同志们可能都会很头疼,尤其它跟数组又无耻的联系到一起的时候,就更加淫荡了!!! 怎么说呢,就是有一点规定:(或准则) 数组名可以看成是指向数组头元素的指针, ...

  4. java学习之IO装饰设计模式

    装饰设计模式就是对已有的对象的功能进行增强 当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能.那么自定义的该类称为装饰类. 装饰类通常会通过构造方法接收被装 ...

  5. 关于 firefox 无法在 passport.csdn.net 找到该服务器

    很奇怪的现象:用firefox上网,某些网站打开总是会提示 无法在XXX找到该服务器.但是使用其他浏览器,比如360却可以正常打开. 我已经将firefox加入了防火墙的信任列表,但是仍旧是这样. 而 ...

  6. Python模拟登陆

    模拟人人登陆 #encoding=utf-8 import urllib2 import urllib import cookielib def renrenBrower(url,user,passw ...

  7. android中menu菜单的简单使用

    我认为menu用起来简洁方便,特别是在一些大一点的程序中我们早就厌烦了一遍遍的加button,设置了菜单可谓是事半功倍,简单省事. <1>先声明定义下你的menu: private sta ...

  8. 【Eclipse】报错提示删掉@Override

    是因为项目的JRE System Library版本不对,点击Edit进入Edit Library 界面,因为项目默认是使用Eclipse自带的jdk版本(Workspace default JRE) ...

  9. MYSQL 备份用户权限

    MYSQL 备份用户权限 datadbblack 192.168.1.10 是 SELECT, RELOAD, SHOW DATABASES, LOCK TABLES  否 权限列表 1.Select ...

  10. 纯JAVA驱动:sqlserver版本不同,驱动与连接也有所区别

    纯JAVA驱动:// 2005 版本:驱动:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");连接:”jd ...