Coder Social home page Coder Social logo

private-bower's People

Contributors

anogma avatar antramm avatar baldurthoremilsson avatar barnatoth avatar bryant1410 avatar ceilino avatar cyberua avatar daledupreezisc avatar hacklone avatar jerome-quere avatar mawrkus avatar mazt-dev avatar mjwwit avatar oliversalzburg avatar omrilitov avatar philippsoehnlein avatar ptitgraig avatar reu avatar robsonflorentino avatar royrico avatar viktorhofer avatar willpracht avatar xiaojue avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

private-bower's Issues

public-repo-cache.js should check for git assumptions

If you don't have Git installed, you get the following log:

[bower] Refreshing public packages...
connect: multipart: use parser (multiparty, busboy, formidable) directly
connect: limit: Restrict request size at location of read
[bower] Bower server started on port 5678
[bower] Starting git cache server
[bower] Failed to initialize public repository cache
[bower] Loaded public packages

private-bower should assert that Git is installed before making calls to Git, and provide better logging to help diagnose this problem.

EUNKNOWN Unknown error: 403

bower register underscore https://github.com/jashkenas/underscore.git
bower convert Converted https://github.com/jashkenas/underscore.git to git://github.com/jashkenas/underscore.git
bower underscore#* resolve git://github.com/jashkenas/underscore.git#*
bower underscore#* download https://github.com/jashkenas/underscore/archive/1.7.0.tar.gz
bower underscore#* extract archive.tar.gz
bower underscore#* resolved git://github.com/jashkenas/underscore.git#1.7.0
[?] Registering a package will make it installable via the registry (https://bower.herokuapp.com), continue? Yes
bower underscore register git://github.com/jashkenas/underscore.git
bower EUNKNOWN Unknown error: 403

Can private-bower limit register action?

I installed private-bower in our company server. But we need a feature that can only let our administrator register libraries and prevent other to register. Is there a feature that private-bower have which can assign username password or set different ports for search and register so that I can use firewall to prevent someone register ?

Requiring lib/repo-cache-Handler.js is case sensitive

lib/server.js requires the RepoCacheHandler function using the statement require(./repo-cache-handler)

https://github.com/Hacklone/private-bower/blob/0435698c/lib/server.js#L3

However, the file is named repo-cache-Handler.js with a capital H. On case-sensitive systems, the require statement will fail:

Error: Cannot find module './repo-cache-handler'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/mnt/apps/nytint_bower/shared/node_modules/private-bower/lib/server.js:3:24)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

Changing the filename to be all lowercase, lib/repo-cache-handler.js, appears to fix this.

Remove package fail when auth-key enable

$ curl -X POST http://xmseapp02:5678/removePackage -d '{"name":"testmybowerpublish"}' -H "Content-Type: application/json" --header "Auth-Key:123456"
TypeError: Object jquery,jwerty,underscore,zepto,zeptojs has no method &#39;contains&#39;<br> &nbsp; &nbsp;at Object._removeRepo [as removeRepo] (/usr/lib/node_modules/private-bower/lib/repo-caches/repo-cache-base.js:67:30)<br> &nbsp; &nbsp;at /usr/lib/node_modules/private-bower/lib/server.js:184:27<br> &nbsp; &nbsp;at Array.forEach (native)<br> &nbsp; &nbsp;at /usr/lib/node_modules/private-bower/lib/server.js:183:22<br> &nbsp; &nbsp;at Array.forEach (native)<br> &nbsp; &nbsp;at _removePackagesFromRepoCaches (/usr/lib/node_modules/private-bower/lib/server.js:182:20)<br> &nbsp; &nbsp;at /usr/lib/node_modules/private-bower/lib/server.js:157:13<br> &nbsp; &nbsp;at callbacks (/usr/lib/node_modules/private-bower/node_modules/express/lib/router/index.js:164:37)<br> &nbsp; &nbsp;at param (/usr/lib/node_modules/private-bower/node_modules/express/lib/router/index.js:138:11)<br> &nbsp; &nbsp;at pass (/usr/lib/node_modules/private-bower/node_modules/express/lib/router/index.js:145:5)

Crash when bad or partial data is returned from the public Bower repo

The following is an example stack trace of the crashes the occur once in a while when weird or bad data is returned from the public Bower repo:

undefined:59
    "url
        ^
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at processData (/usr/local/lib/node_modules/private-bower/lib/public-package-store.js:40:33)
    at /usr/local/lib/node_modules/private-bower/lib/public-package-store.js:24:13
    at Object.ConnectManager.handleResponse (/usr/local/lib/node_modules/private-bower/node_modules/node-rest-client/lib/node-rest-client.js:339:5)
    at Object.ConnectManager.handleEnd (/usr/local/lib/node_modules/private-bower/node_modules/node-rest-client/lib/node-rest-client.js:325:10)
    at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/private-bower/node_modules/node-rest-client/lib/node-rest-client.js:446:13)
    at IncomingMessage.EventEmitter.emit (events.js:117:20)
    at _stream_readable.js:883:14
    at process._tickCallback (node.js:415:13)

No idea why the data is sometimes sketchy bad but this happens every few days taking down the private-bower process.

The JSON.parse should really just be wrapped in a try/catch on line 40 of https://github.com/Hacklone/private-bower/blob/master/lib/public-package-store.js in case the JSON is bogus.

I would submit a pull request but this is such a small update that I felt it could just be added in the next release.

Thanks for the great project!

After started the packages is empty and can't install anything

I have installed private-bower

su -
npm install -g private-bower
private-bower --config ~/myBowerConfig.json

Here is myBowerConfig.json

{
    "port": 5678,
    "registryFile": "./private-bower/bowerRepository.json",
    "disablePublic": false,
    "publicRegistry": "http://bower.herokuapp.com/packages/",
    "repositoryCache": {
        "git": {
            "enabled": false,
            "cacheDirectory": "./private-bower/gitRepoCache",
            "host": "localhost",
            "port": 6789
        },
        "svn": {
            "enabled": false,
            "cacheDirectory": "./private-bower/svnRepoCache",
            "host": "localhost",
            "port": 7891
        }
    },
    "log4js" : {
        "enabled": false,
        "configPath" : "log4js.conf.json"
    }
}

After I startup private-bower I can use chrome to visit http://localhost:5678 . But when I visit http://localhost:5678 it give me a "[]"

I think it doesn't matter if the "bower install xxxx" works well.
Then I changed the bower setting .bowerrc on another computer

{
     "registry" : {
        "search" : [ "http://192.168.1.22:5678"],
        "register" : "http://192.168.1.22:5678"
      }
}

The 192.168.1.22 is the IP of server which private-bower on.
And run

bower install boostrap

But it can't download boostrap from private-bower

bower                            retry Request to http://192.168.1.22:5678/packages/boostrap failed with ETIMEDOUT, retrying in 1.6s

What's wrong with my setting?!

SVN repo management

Hello,
Sorry for this issue but it is the only way to ask a question...
Congratulation for your private bower! I use it for industrial projects with git for the internal build.
My end user doesn't want git and uses SVN. Could he hosted private repo into his SVN?

Thanks for your answer

Why private-bower always Failed to clone?

I have almost everything works with your great help. Thanks again!
But there is another problem. I found When install bower package from client side it always said:

$ bower install jquery
bower jquery#*              not-cached git://github.com/jquery/jquery.git#*
bower jquery#*                 resolve git://github.com/jquery/jquery.git#*
bower jquery#*                download https://github.com/jquery/jquery/archive/2.1.1.tar.gz
bower jquery#*                 extract archive.tar.gz
bower jquery#*                resolved git://github.com/jquery/jquery.git#2.1.1
bower jquery#~2.1.1            install jquery#2.1.1

and I check server log it shows:

[2014-07-08 09:24:38.178] [INFO] console - [bower]  Loaded public packages
[2014-07-08 09:24:41.878] [INFO] console - [bower]  Cloning jquery ...
[2014-07-08 09:24:41.888] [INFO] console - [bower]  Failed to clone git://github.com/jquery/jquery.git
[2014-07-08 09:55:00.397] [INFO] console - [bower]  Loaded public packages
[2014-07-08 10:25:07.515] [INFO] console - [bower]  Loaded public packages
[2014-07-08 10:54:42.969] [INFO] console - [bower]  Loaded public packages
[2014-07-08 11:24:37.721] [INFO] console - [bower]  Loaded public packages
[2014-07-08 11:24:47.726] [INFO] console - [bower]  Cloning zepto ...
[2014-07-08 11:24:47.737] [INFO] console - [bower]  Failed to clone git://github.com/components/zepto.git

When it comes to git clone it's always get fail. But it works perfect when I directly use git clone command to clone jquery or zepto.
Could you tell me why?
Really appreciate your help! 👍

why package installation will fail when install first time?

I found when a package is been installation for first time, it will always fail.
For example:
I install underscore for first time. There is no one install underscore before me at this private-bower repository

Client Side

[wlsuser@localhsot testnpm]$ bower install underscore
bower ENOTFOUND     Package underscore not found

But when I check Server Side log, it shows everything is ok

[2014-08-28 10:11:59.948] [INFO] console - [bower]  28/8/14 10:11:59   Cloning underscore ...
[2014-08-28 10:12:05.025] [INFO] console - [bower]  28/8/14 10:12:5   Cloned underscore git repository to private
[2014-08-28 10:12:05.026] [INFO] console - [bower]  28/8/14 10:12:5   Registered package: underscore

Obviously, underscore is been clone and add to cache successfully. So when I try to install underscore at Client Side for second time, it works well

[wlsuser@localhost testnpm]$ bower install underscore
bower not-cached    git://192.168.1.12:6789/underscore#*
bower resolve       git://192.168.1.12:6789/underscore#*
bower checkout      underscore#1.7.0
bower old-git       It seems you are using an old version of git, it will be slower and propitious to errors!
bower resolved      git://192.168.1.12:6789/underscore#1.7.0
bower install       underscore#1.7.0

webui: packages not loading when behind a gateway

When a gateway is placed before the webui, changing the url path, for example the new path might be:
http://example.com/bower/

The packages are no longer loading and the webui indicates that the local bower is not running.

The cause is the leading / in line 10 of private-bower.js
$http.get('/packages')

This should become
$http.get('packages')

fatal: read error: Connection reset by peer

May be this happens when private-bower updates chached repos?

bower autotype#*            not-cached git://*:6789/autotype#*
bower autotype#*               resolve git://*:6789/autotype#*
bower backbone.linear#0.5.2 not-cached git://*:6789/backbone.linear#0.5.2
bower backbone.linear#0.5.2    resolve git://*:6789/backbone.linear#0.5.2
bower addressparser#0.1.2   not-cached git://*:6789/addressparser#0.1.2
bower addressparser#0.1.2      resolve git://*:6789/addressparser#0.1.2
bower async#0.9.0           not-cached git://*:6789/async#0.9.0
bower async#0.9.0              resolve git://*:6789/async#0.9.0
bower backbone#1.1.2        not-cached git://*:6789/backbone#1.1.2
bower backbone#1.1.2           resolve git://*:6789/backbone#1.1.2
bower backbone.paginator#d5cb11bda93ef8b77957b59f39e84d1f2d43a331       not-cached git://*:6789/backbone.paginator#d5cb11bda93ef8b77957b59f39e84d1f2d43a331
bower backbone.paginator#d5cb11bda93ef8b77957b59f39e84d1f2d43a331          resolve git://*:6789/backbone.paginator#d5cb11bda93ef8b77957b59f39e84d1f2d43a331
bower backbone.paginator#d5cb11bda93ef8b77957b59f39e84d1f2d43a331         checkout d5cb11bda93ef8b77957b59f39e84d1f2d43a331
bower backbone.routeFilter#0.2.1                                        not-cached git://*:6789/backbone.routeFilter#0.2.1
bower backbone.routeFilter#0.2.1                                           resolve git://*:6789/backbone.routeFilter#0.2.1
bower backbone.stickit#0.8.0                                            not-cached git://*:6789/backbone.stickit#0.8.0
bower backbone.stickit#0.8.0                                               resolve git://*:6789/backbone.stickit#0.8.0
bower autotype#*                                                          checkout 0.5.0
bower backbone-validation#0.8.0                                         not-cached git://*:6789/backbone-validation#0.8.0
bower backbone-validation#0.8.0                                            resolve git://*:6789/backbone-validation#0.8.0
bower backbone.linear#0.5.2                                               checkout 0.5.2
bower backbone#1.1.2                                                      checkout 1.1.2
bower async#0.9.0                                                         checkout 0.9.0
bower addressparser#0.1.2                                                 checkout v0.1.2
bower backbone.syphon#0.4.1                                             not-cached git://*:6789/backbone.syphon#0.4.1
bower backbone.syphon#0.4.1                                                resolve git://*:6789/backbone.syphon#0.4.1
bower Backbone.Undo#0.2.0                                               not-cached git://*:6789/Backbone.Undo#0.2.0
bower Backbone.Undo#0.2.0                                                  resolve git://*:6789/Backbone.Undo#0.2.0
bower blueimp-file-upload#9.5.2                                         not-cached git://*:6789/blueimp-file-upload#9.5.2
bower blueimp-file-upload#9.5.2                                            resolve git://*:6789/blueimp-file-upload#9.5.2
bower bootstrap-sass-official#3.1.1                                     not-cached git://*:6789/bootstrap-sass-official#3.1.1
bower bootstrap-sass-official#3.1.1                                        resolve git://*:6789/bootstrap-sass-official#3.1.1
bower bootstrap#3.1.1                                                   not-cached git://*:6789/bootstrap#3.1.1
bower bootstrap#3.1.1                                                      resolve git://*:6789/bootstrap#3.1.1
bower bootstrap-datetimepicker#0.0.10                                   not-cached git://*:6789/bootstrap-datetimepicker#0.0.10
bower bootstrap-datetimepicker#0.0.10                                      resolve git://*:6789/bootstrap-datetimepicker#0.0.10
bower bootstrap-daterangepicker#1.3.6                                   not-cached git://*:6789/bootstrap-daterangepicker#1.3.6
bower bootstrap-daterangepicker#1.3.6                                      resolve git://*:6789/bootstrap-daterangepicker#1.3.6
bower bootstrap-multiselect#0.9.4                                       not-cached git://*:6789/bootstrap-multiselect#0.9.4
bower bootstrap-multiselect#0.9.4                                          resolve git://*:6789/bootstrap-multiselect#0.9.4
bower coffee-script#528651afed99ac7630cf48bfb8664fdb0fdd62bb            not-cached git://*:6789/coffee-script#528651afed99ac7630cf48bfb8664fdb0fdd62bb
bower coffee-script#528651afed99ac7630cf48bfb8664fdb0fdd62bb               resolve git://*:6789/coffee-script#528651afed99ac7630cf48bfb8664fdb0fdd62bb
bower bootstrap-timepicker#0.2.6                                        not-cached git://*:6789/bootstrap-timepicker#0.2.6
bower bootstrap-timepicker#0.2.6                                           resolve git://*:6789/bootstrap-timepicker#0.2.6
bower backbone.routeFilter#0.2.1                                          checkout 0.2.1
bower dynatree#1.2.5                                                    not-cached git://*:6789/dynatree#1.2.5
bower dynatree#1.2.5                                                       resolve git://*:6789/dynatree#1.2.5
bower datejs#*                                                          not-cached git://*:6789/datejs#*
bower datejs#*                                                             resolve git://*:6789/datejs#*
bower ect#*                                                             not-cached git://*:6789/ect#*
bower ect#*                                                                resolve git://*:6789/ect#*
bower eventie#1.0.3                                                     not-cached git://*:6789/eventie#1.0.3
bower eventie#1.0.3                                                        resolve git://*:6789/eventie#1.0.3
bower eventEmitter#4.2.0                                                not-cached git://*:6789/eventEmitter#4.2.0
bower eventEmitter#4.2.0                                                   resolve git://*:6789/eventEmitter#4.2.0
bower backbone.stickit#0.8.0                                              checkout 0.8.0
bower bootstrap-sass-official#3.1.1                                       checkout v3.1.1
bower Backbone.Undo#0.2.0                                                 checkout v0.2.0
bower backbone.syphon#0.4.1                                               checkout v0.4.1
bower backbone-validation#0.8.0                                           checkout v0.8.0
bower bootstrap#3.1.1                                                     checkout v3.1.1
bower blueimp-file-upload#9.5.2                                           checkout 9.5.2
bower coffee-script#528651afed99ac7630cf48bfb8664fdb0fdd62bb              checkout 528651afed99ac7630cf48bfb8664fdb0fdd62bb
bower bootstrap-daterangepicker#1.3.6                                     checkout v1.3.6
bower bootstrap-datetimepicker#0.0.10                                     checkout v0.0.10
bower jquery-dropdown#544f0cbded34a5c6c139963fb11d90c02be8d0a9          not-cached git://*:6789/jquery-dropdown#544f0cbded34a5c6c139963fb11d90c02be8d0a9
bower jquery-dropdown#544f0cbded34a5c6c139963fb11d90c02be8d0a9             resolve git://*:6789/jquery-dropdown#544f0cbded34a5c6c139963fb11d90c02be8d0a9
bower fancytree#2.0.0                                                   not-cached git://*:6789/fancytree#2.0.0
bower fancytree#2.0.0                                                      resolve git://*:6789/fancytree#2.0.0
bower jquery-autosize#1.17.2                                            not-cached git://*:6789/jquery-autosize#1.17.2
bower jquery-autosize#1.17.2                                               resolve git://*:6789/jquery-autosize#1.17.2
bower jquery#2.1.1                                                      not-cached git://*:6789/jquery#2.1.1
bower jquery#2.1.1                                                         resolve git://*:6789/jquery#2.1.1
bower flot.rangeselection#*                                             not-cached git://*:6789/flot.rangeselection#*
bower flot.rangeselection#*                                                resolve git://*:6789/flot.rangeselection#*
bower jquery-flot#0.8.2                                                 not-cached git://*:6789/jquery-flot#0.8.2
bower jquery-flot#0.8.2                                                    resolve git://*:6789/jquery-flot#0.8.2
bower jquery-idletimer#0.9.3                                            not-cached git://*:6789/jquery-idletimer#0.9.3
bower jquery-idletimer#0.9.3                                               resolve git://*:6789/jquery-idletimer#0.9.3
bower jquery-simplecolorpicker#0.3.0                                    not-cached git://*:6789/jquery-simplecolorpicker#0.3.0
bower jquery-simplecolorpicker#0.3.0                                       resolve git://*:6789/jquery-simplecolorpicker#0.3.0
bower jquery-nicescroll#*                                               not-cached git://*:6789/jquery-nicescroll#*
bower jquery-nicescroll#*                                                  resolve git://*:6789/jquery-nicescroll#*
bower jquery.event.drag-drop#2.2.1                                      not-cached git://*:6789/jquery.event.drag-drop#2.2.1
bower jquery.event.drag-drop#2.2.1                                         resolve git://*:6789/jquery.event.drag-drop#2.2.1
bower datejs#*                                                            checkout v1.0.0-rc1
bower bootstrap-timepicker#0.2.6                                          checkout v0.2.6
bower bootstrap-multiselect#0.9.4                                         checkout v0.9.4
bower jquery-ui#1.9.2                                                   not-cached git://*:6789/jquery-ui#1.9.2
bower jquery-ui#1.9.2                                                      resolve git://*:6789/jquery-ui#1.9.2
bower ect#*                                                               checkout master
bower dynatree#1.2.5                                                      checkout 1.2.5
bower jquery-dropdown#544f0cbded34a5c6c139963fb11d90c02be8d0a9            checkout 544f0cbded34a5c6c139963fb11d90c02be8d0a9
bower eventie#1.0.3                                                       checkout v1.0.3
bower eventEmitter#4.2.0                                                  checkout v4.2.0
bower lodash#2.4.1                                                      not-cached git://*:6789/lodash#2.4.1
bower lodash#2.4.1                                                         resolve git://*:6789/lodash#2.4.1
bower jquery.uniform#2.1.0                                              not-cached git://*:6789/jquery.uniform#2.1.0
bower jquery.uniform#2.1.0                                                 resolve git://*:6789/jquery.uniform#2.1.0
bower imagesloaded#3.0.4                                                not-cached git://*:6789/imagesloaded#3.0.4
bower imagesloaded#3.0.4                                                   resolve git://*:6789/imagesloaded#3.0.4
bower i18next#1.7.3                                                     not-cached git://*:6789/i18next#1.7.3
bower i18next#1.7.3                                                        resolve git://*:6789/i18next#1.7.3
bower marionette#2.1.0                                                  not-cached git://*:6789/marionette#2.1.0
bower marionette#2.1.0                                                     resolve git://*:6789/marionette#2.1.0
bower jquery#2.1.1                                                        checkout 2.1.1
bower jquery-autosize#1.17.2                                              checkout 1.17.2
bower fancytree#2.0.0                                                     checkout v2.0.0
bower flot.rangeselection#*                                               checkout master
bower moment#2.6.0                                                      not-cached git://*:6789/moment#2.6.0
bower moment#2.6.0                                                         resolve git://*:6789/moment#2.6.0
bower modernizr#2.6.2                                                   not-cached git://*:6789/modernizr#2.6.2
bower modernizr#2.6.2                                                      resolve git://*:6789/modernizr#2.6.2
bower nprogress#0.1.2                                                   not-cached git://*:6789/nprogress#0.1.2
bower nprogress#0.1.2                                                      resolve git://*:6789/nprogress#0.1.2
bower jquery.event.drag-drop#2.2.1                                        checkout 2.2.1
bower jquery-nicescroll#*                                                 checkout master
bower jquery-simplecolorpicker#0.3.0                                      checkout v0.3.0
bower jquery-idletimer#0.9.3                                              checkout 0.9.3
bower jquery-flot#0.8.2                                                   checkout 0.8.2
bower multiselect#0.9.8                                                 not-cached git://*:6789/multiselect#0.9.8
bower multiselect#0.9.8                                                    resolve git://*:6789/multiselect#0.9.8
bower noty#2.1.0                                                        not-cached git://*:6789/noty#2.1.0
bower noty#2.1.0                                                           resolve git://*:6789/noty#2.1.0
bower pushstream#*                                                      not-cached git://*:6789/pushstream#*
bower pushstream#*                                                         resolve git://*:6789/pushstream#*
bower jquery-ui#1.9.2                                                     checkout 1.9.2
bower pnotify#1.2.0                                                     not-cached git://*:6789/pnotify#1.2.0
bower pnotify#1.2.0                                                        resolve git://*:6789/pnotify#1.2.0
bower q#2.0.0                                                           not-cached git://*:6789/q#2.0.0
bower q#2.0.0                                                              resolve git://*:6789/q#2.0.0
bower imagesloaded#3.0.4                                                  checkout v3.0.4
bower i18next#1.7.3                                                       checkout 1.7.3
bower jquery.uniform#2.1.0                                                checkout v2.1.0
bower lodash#2.4.1                                                        checkout 2.4.1
bower require-cs#452a6b0                                                not-cached git://*:6789/require-cs#452a6b0
bower require-cs#452a6b0                                                   resolve git://*:6789/require-cs#452a6b0
bower qtip2#2.1.1                                                       not-cached git://*:6789/qtip2#2.1.1
bower qtip2#2.1.1                                                          resolve git://*:6789/qtip2#2.1.1
bower requirejs-text#2.0.12                                             not-cached git://*:6789/requirejs-text#2.0.12
bower requirejs-text#2.0.12                                                resolve git://*:6789/requirejs-text#2.0.12
bower requirejs#2.1.14                                                  not-cached git://*:6789/requirejs#2.1.14
bower requirejs#2.1.14                                                     resolve git://*:6789/requirejs#2.1.14
bower nprogress#0.1.2                                                     checkout v0.1.2
bower moment#2.6.0                                                        checkout 2.6.0
bower marionette#2.1.0                                                    checkout v2.1.0
bower select2#b6195928cf218e5566f2c67b5070e5a7fe897737                  not-cached git://*:6789/select2#b6195928cf218e5566f2c67b5070e5a7fe897737
bower select2#b6195928cf218e5566f2c67b5070e5a7fe897737                     resolve git://*:6789/select2#b6195928cf218e5566f2c67b5070e5a7fe897737
bower multiselect#0.9.8                                                   checkout 0.9.8
bower modernizr#2.6.2                                                     checkout v2.6.2
bower noty#2.1.0                                                          checkout v2.1.0
bower slickgrid#fdeb0df79932508f9053855993b54f4ea9e47449                not-cached git://*:6789/slickgrid#fdeb0df79932508f9053855993b54f4ea9e47449
bower slickgrid#fdeb0df79932508f9053855993b54f4ea9e47449                   resolve git://*:6789/slickgrid#fdeb0df79932508f9053855993b54f4ea9e47449
bower xeditable#05cae59d737ad5a22fec299ec4644215f6f97c8a                not-cached git://*:6789/xeditable#05cae59d737ad5a22fec299ec4644215f6f97c8a
bower xeditable#05cae59d737ad5a22fec299ec4644215f6f97c8a                   resolve git://*:6789/xeditable#05cae59d737ad5a22fec299ec4644215f6f97c8a
bower x2js#*                                                            not-cached git://*:6789/x2js#*
bower x2js#*                                                               resolve git://*:6789/x2js#*
bower q#2.0.0                                                             checkout v2.0.0
bower pnotify#1.2.0                                                       checkout 1.2.0
bower pushstream#*                                                        checkout master
bower select2#b6195928cf218e5566f2c67b5070e5a7fe897737                    checkout b6195928cf218e5566f2c67b5070e5a7fe897737
bower requirejs#2.1.14                                                    checkout 2.1.14
bower requirejs-text#2.0.12                                               checkout 2.0.12
bower qtip2#2.1.1                                                         checkout v2.1.1
bower require-cs#452a6b0                                                 short-sha Consider using longer commit SHA to avoid conflicts
bower require-cs#452a6b0                                                  checkout 452a6b0
bower slickgrid#fdeb0df79932508f9053855993b54f4ea9e47449                  checkout fdeb0df79932508f9053855993b54f4ea9e47449
bower xeditable#05cae59d737ad5a22fec299ec4644215f6f97c8a                  checkout 05cae59d737ad5a22fec299ec4644215f6f97c8a
bower x2js#*                                                              checkout master
bower backbone.stickit#0.8.0                                          invalid-meta backbone.stickit is missing "main" entry in bower.json
bower backbone.stickit#0.8.0                                          invalid-meta backbone.stickit is missing "ignore" entry in bower.json
bower autotype#*                                                      invalid-meta autotype is missing "main" entry in bower.json
bower autotype#*                                                      invalid-meta autotype is missing "ignore" entry in bower.json
bower jquery.event.drag-drop#2.2.1                                    invalid-meta jquery.threedubmedia is missing "ignore" entry in bower.json
bower backbone.linear#0.5.2                                           invalid-meta backbone.linear is missing "ignore" entry in bower.json
bower eventie#1.0.3                                                   invalid-meta eventie is missing "ignore" entry in bower.json
bower backbone-validation#0.8.0                                       invalid-meta backbone-validation is missing "main" entry in bower.json
bower backbone-validation#0.8.0                                       invalid-meta backbone-validation is missing "ignore" entry in bower.json
bower async#0.9.0                                                     invalid-meta async is missing "main" entry in bower.json
bower async#0.9.0                                                     invalid-meta async is missing "ignore" entry in bower.json
bower jquery-autosize#1.17.2                                          invalid-meta jquery-autosize is missing "ignore" entry in bower.json
bower backbone.stickit#0.8.0                                              resolved git://*:6789/backbone.stickit#0.8.0
bower backbone.syphon#0.4.1                                           invalid-meta backbone.syphon is missing "main" entry in bower.json
bower backbone.syphon#0.4.1                                           invalid-meta backbone.syphon is missing "ignore" entry in bower.json
bower autotype#*                                                          resolved git://*:6789/autotype#0.5.0
bower jquery-idletimer#0.9.3                                          invalid-meta jquery-idletimer is missing "main" entry in bower.json
bower jquery-idletimer#0.9.3                                          invalid-meta jquery-idletimer is missing "ignore" entry in bower.json
bower jquery-simplecolorpicker#0.3.0                                  invalid-meta jquery-simplecolorpicker is missing "main" entry in bower.json
bower jquery-simplecolorpicker#0.3.0                                  invalid-meta jquery-simplecolorpicker is missing "ignore" entry in bower.json
bower jquery.event.drag-drop#2.2.1                                        resolved git://*:6789/jquery.event.drag-drop#2.2.1
bower eventie#1.0.3                                                       resolved git://*:6789/eventie#1.0.3
bower backbone.linear#0.5.2                                               resolved git://*:6789/backbone.linear#0.5.2
bower eventEmitter#4.2.0                                              invalid-meta eventEmitter is missing "ignore" entry in bower.json
bower bootstrap-multiselect#0.9.4                                     invalid-meta bootstrap-multiselect is missing "ignore" entry in bower.json
bower backbone-validation#0.8.0                                           resolved git://*:6789/backbone-validation#0.8.0
bower dynatree#1.2.5                                                  invalid-meta dynatree is missing "main" entry in bower.json
bower dynatree#1.2.5                                                  invalid-meta dynatree is missing "ignore" entry in bower.json
bower jquery.uniform#2.1.0                                            invalid-meta jquery.uniform is missing "main" entry in bower.json
bower jquery.uniform#2.1.0                                            invalid-meta jquery.uniform is missing "ignore" entry in bower.json
bower async#0.9.0                                                         resolved git://*:6789/async#0.9.0
bower requirejs-text#2.0.12                                           invalid-meta requirejs-text is missing "main" entry in bower.json
bower requirejs-text#2.0.12                                           invalid-meta requirejs-text is missing "ignore" entry in bower.json
bower multiselect#0.9.8                                               invalid-meta multiselect is missing "main" entry in bower.json
bower multiselect#0.9.8                                               invalid-meta multiselect is missing "ignore" entry in bower.json
bower noty#2.1.0                                                      invalid-meta noty is missing "main" entry in bower.json
bower noty#2.1.0                                                      invalid-meta noty is missing "ignore" entry in bower.json
bower backbone.paginator#d5cb11bda93ef8b77957b59f39e84d1f2d43a331     invalid-meta backbone.paginator is missing "main" entry in bower.json
bower backbone.paginator#d5cb11bda93ef8b77957b59f39e84d1f2d43a331     invalid-meta backbone.paginator is missing "ignore" entry in bower.json
bower imagesloaded#3.0.4                                              invalid-meta imagesloaded is missing "ignore" entry in bower.json
bower jquery-autosize#1.17.2                                              resolved git://*:6789/jquery-autosize#1.17.2
bower backbone.syphon#0.4.1                                               resolved git://*:6789/backbone.syphon#0.4.1
bower flot.rangeselection#*                                           invalid-meta flot.rangeselection is missing "main" entry in bower.json
bower flot.rangeselection#*                                           invalid-meta flot.rangeselection is missing "ignore" entry in bower.json
bower jquery-idletimer#0.9.3                                              resolved git://*:6789/jquery-idletimer#0.9.3
bower q#2.0.0                                                         invalid-meta q is missing "main" entry in bower.json
bower q#2.0.0                                                         invalid-meta q is missing "ignore" entry in bower.json
bower jquery-simplecolorpicker#0.3.0                                      resolved git://*:6789/jquery-simplecolorpicker#0.3.0
bower flot.rangeselection#*                                               resolved git://*:6789/flot.rangeselection#45200b5ba3
bower eventEmitter#4.2.0                                                  resolved git://*:6789/eventEmitter#4.2.0
bower jquery-nicescroll#*                                             invalid-meta jquery-nicescroll is missing "main" entry in bower.json
bower jquery-nicescroll#*                                             invalid-meta jquery-nicescroll is missing "ignore" entry in bower.json
bower bootstrap-multiselect#0.9.4                                         resolved git://*:6789/bootstrap-multiselect#0.9.4
bower dynatree#1.2.5                                                      resolved git://*:6789/dynatree#1.2.5
bower jquery.uniform#2.1.0                                                resolved git://*:6789/jquery.uniform#2.1.0
bower requirejs#2.1.14                                                invalid-meta requirejs is missing "ignore" entry in bower.json
bower jquery-nicescroll#*                                                 resolved git://*:6789/jquery-nicescroll#dfa3cd484b
bower requirejs-text#2.0.12                                               resolved git://*:6789/requirejs-text#2.0.12
bower multiselect#0.9.8                                                   resolved git://*:6789/multiselect#0.9.8
bower noty#2.1.0                                                          resolved git://*:6789/noty#2.1.0
bower jquery-dropdown#544f0cbded34a5c6c139963fb11d90c02be8d0a9          deprecated Package jquery-dropdown is using the deprecated component.json
bower jquery-dropdown#544f0cbded34a5c6c139963fb11d90c02be8d0a9        invalid-meta jquery-dropdown is missing "main" entry in bower.json
bower jquery-dropdown#544f0cbded34a5c6c139963fb11d90c02be8d0a9        invalid-meta jquery-dropdown is missing "ignore" entry in bower.json
bower backbone.paginator#d5cb11bda93ef8b77957b59f39e84d1f2d43a331         resolved git://*:6789/backbone.paginator#d5cb11bda9
bower pnotify#1.2.0                                                   invalid-meta pnotify is missing "main" entry in bower.json
bower pnotify#1.2.0                                                   invalid-meta pnotify is missing "ignore" entry in bower.json
bower imagesloaded#3.0.4                                                  resolved git://*:6789/imagesloaded#3.0.4
bower q#2.0.0                                                             resolved git://*:6789/q#2.0.0
bower jquery-flot#0.8.2                                                 deprecated Package jquery-flot is using the deprecated component.json
bower jquery-flot#0.8.2                                               invalid-meta Flot is missing "ignore" entry in bower.json
bower requirejs#2.1.14                                                    resolved git://*:6789/requirejs#2.1.14
bower jquery-dropdown#544f0cbded34a5c6c139963fb11d90c02be8d0a9            resolved git://*:6789/jquery-dropdown#544f0cbded
bower pnotify#1.2.0                                                       resolved git://*:6789/pnotify#1.2.0
bower modernizr#2.6.2                                                 invalid-meta modernizr is missing "main" entry in bower.json
bower modernizr#2.6.2                                                 invalid-meta modernizr is missing "ignore" entry in bower.json
bower addressparser#0.1.2                                                 resolved git://*:6789/addressparser#0.1.2
bower jquery-flot#0.8.2                                                   resolved git://*:6789/jquery-flot#0.8.2
bower Backbone.Undo#0.2.0                                                 resolved git://*:6789/Backbone.Undo#0.2.0
bower slickgrid#fdeb0df79932508f9053855993b54f4ea9e47449              invalid-meta slickgrid is missing "main" entry in bower.json
bower slickgrid#fdeb0df79932508f9053855993b54f4ea9e47449              invalid-meta slickgrid is missing "ignore" entry in bower.json
bower modernizr#2.6.2                                                     resolved git://*:6789/modernizr#2.6.2
bower pushstream#*                                                        resolved git://*:6789/pushstream#879c95d383
bower select2#b6195928cf218e5566f2c67b5070e5a7fe897737                invalid-meta select2 is missing "ignore" entry in bower.json
bower jquery-ui#1.9.2                                                 invalid-meta jquery-ui is missing "ignore" entry in bower.json
bower slickgrid#fdeb0df79932508f9053855993b54f4ea9e47449                  resolved git://*:6789/slickgrid#fdeb0df799
bower bootstrap-daterangepicker#1.3.6                                     resolved git://*:6789/bootstrap-daterangepicker#1.3.6
bower x2js#*                                                              resolved git://*:6789/x2js#204db317f4
bower select2#b6195928cf218e5566f2c67b5070e5a7fe897737                    resolved git://*:6789/select2#b6195928cf
bower require-cs#452a6b0                                              invalid-meta require-cs is missing "main" entry in bower.json
bower jquery-ui#1.9.2                                                     resolved git://*:6789/jquery-ui#1.9.2
bower ect#*                                                               resolved git://*:6789/ect#0edfa8c428
bower bootstrap-timepicker#0.2.6                                      invalid-meta bootstrap-timepicker is missing "ignore" entry in bower.json
bower require-cs#452a6b0                                                  resolved git://*:6789/require-cs#452a6b0
bower bootstrap-timepicker#0.2.6                                          resolved git://*:6789/bootstrap-timepicker#0.2.6
bower lodash#2.4.1                                                        resolved git://*:6789/lodash#2.4.1
bower backbone#1.1.2                                                      resolved git://*:6789/backbone#1.1.2
bower backbone.routeFilter#0.2.1                                          resolved git://*:6789/backbone.routeFilter#0.2.1
bower qtip2#2.1.1                                                         resolved git://*:6789/qtip2#2.1.1
bower coffee-script#528651afed99ac7630cf48bfb8664fdb0fdd62bb          invalid-meta coffee-script is missing "main" entry in bower.json
bower coffee-script#528651afed99ac7630cf48bfb8664fdb0fdd62bb          invalid-meta coffee-script is missing "ignore" entry in bower.json
bower blueimp-file-upload#9.5.2                                           resolved git://*:6789/blueimp-file-upload#9.5.2
bower coffee-script#528651afed99ac7630cf48bfb8664fdb0fdd62bb              resolved git://*:6789/coffee-script#528651afed
bower nprogress#0.1.2                                                     resolved git://*:6789/nprogress#0.1.2
bower marionette#2.1.0                                                    resolved git://*:6789/marionette#2.1.0
bower bootstrap-sass-official#3.1.1                                       resolved git://*:6789/bootstrap-sass-official#3.1.1
bower fancytree#2.0.0                                                 invalid-meta jquery.fancytree is missing "main" entry in bower.json
bower fancytree#2.0.0                                                     resolved git://*:6789/fancytree#2.0.0
bower moment#2.6.0                                                        resolved git://*:6789/moment#2.6.0
bower jquery#2.1.1                                                        resolved git://*:6789/jquery#2.1.1
bower xeditable#05cae59d737ad5a22fec299ec4644215f6f97c8a              invalid-meta x-editable is missing "main" entry in bower.json
bower xeditable#05cae59d737ad5a22fec299ec4644215f6f97c8a                  resolved git://*:6789/xeditable#05cae59d73
bower i18next#1.7.3                                                        ECMDERR Failed to execute "git clone git://*:6789/i18next -b 1.7.3 --progress . --depth 1", exit code of #128

Additional error details:
fatal: read error: Connection reset by peer

Certain packages are not resolving

Hi,
I have a few dependencies that maybe aren't standard, that don't resolve through private-bower but do when running directly against the public repo namely :
"matchmedia-ng": "~1.0.3",
"leaflet-china": "https://raw.github.com/htoooth/Leaflet.ChineseTmsProviders/master/src/leaflet.ChineseTmsProviders.js",

If I change ~ to "matchmedia-ng": "#1.0.3" it works!
Which is ok as a workaround but whats the problem with leaflet-china ?
Really looking forward to your reply,
/Stephen

Exit with error on start (version 0.3.8)

After upgrading to version 0.3.8 the following error message appears:

/usr/lib/node_modules/private-bower/lib/utils.js:42
                        childDirectories.push(files[i]);
                                                    ^
ReferenceError: i is not defined
    at /usr/lib/node_modules/private-bower/lib/utils.js:42:53
    at Object.oncomplete (fs.js:107:15)

private-bower was crashed

Here is the error log:

[2014-07-24 19:07:48.175] [INFO] console - [bower]  Loaded public packages
[2014-07-24 19:37:48.438] [INFO] console - [bower]  Loaded public packages
[2014-07-24 20:07:57.474] [INFO] console - [bower]  Loaded public packages
[2014-07-24 20:37:51.951] [INFO] console - [bower]  Loaded public packages
[2014-07-24 21:07:48.055] [INFO] console - [bower]  Loaded public packages
[2014-07-24 21:37:48.237] [INFO] console - [bower]  Loaded public packages
[2014-07-24 22:08:04.134] [INFO] console - [bower]  Loaded public packages
[2014-07-24 22:37:54.044] [INFO] console - [bower]  Loaded public packages
[2014-07-24 23:07:55.644] [INFO] console - [bower]  Loaded public packages
[2014-07-24 23:37:59.890] [INFO] console - [bower]  Loaded public packages
[2014-07-25 00:07:48.244] [INFO] console - [bower]  Loaded public packages

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: write after end
    at writeAfterEnd (_stream_writable.js:130:12)
    at WriteStream.Writable.write (_stream_writable.js:178:5)
    at writeTheChunk (/usr/lib/node_modules/private-bower/node_modules/log4js/lib/streams/BaseRollingFileStream.js:51:20)
    at /usr/lib/node_modules/private-bower/node_modules/log4js/node_modules/async/lib/async.js:199:13
    at /usr/lib/node_modules/private-bower/node_modules/log4js/node_modules/async/lib/async.js:120:21
    at /usr/lib/node_modules/private-bower/node_modules/log4js/node_modules/async/lib/async.js:196:17
    at /usr/lib/node_modules/private-bower/node_modules/log4js/node_modules/async/lib/async.js:499:34
    at Object.oncomplete (fs.js:107:15)

git clone early EOF error

We get this error when running : git clone git://private-bower:6789/angular-animate -b v1.2.21 --depth 1

Cloning into 'angular-animate'...
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 0), reused 3 (delta 0)
Receiving objects: 100% (7/7), 32.58 KiB | 0 bytes/s, done.
ffatal: read error: Invalid argument
atal: early EOF
fatal: index-pack failed

also when running bower install angular-animate, we get:

ECMDERR Failed to execute "git clone git://jsbuilder:6789/angular-animate -b v1.2.21 --progress . --depth 1", exit code of #128

It will fail when install some package for first time

There is a problem with private-bower. That is when you install some package for first time and this package has not been cached by private-bower, it will get fail. But it's ok for the second time.
I will show you the steps for reproduce this problem:
Before:
Server side: Make sure private-bower didn't cache zepto.
Client side: $ bower cache clean
STEP 1
Client side:

$ bower install zepto
bower                        ENOTFOUND Package zepto not found

But server side cloned zepto successfully:

[2014-07-18 15:06:16.661] [INFO] console - [bower]  18/7/14 15:6:16   Cloning zepto ...
[2014-07-18 15:06:18.670] [INFO] console - [bower]  18/7/14 15:6:18   Cloned zepto git repository to private
[2014-07-18 15:06:18.671] [INFO] console - [bower]  18/7/14 15:6:18   Registered package: zepto

STEP 2
install zepto again:
Client side:

$ bower install zepto
bower zepto#*               not-cached git://localhost:6789/zepto#*
bower zepto#*                  resolve git://localhost:6789/zepto#*
bower zepto#*                 checkout 1.1.4
bower zepto#*                  old-git It seems you are using an old version of git, it will be slower and propitious to errors!
bower zepto#*                 resolved git://localhost:6789/zepto#1.1.4
bower zepto#~1.1.4             install zepto#1.1.4

zepto#1.1.4 bower_components/zepto

git repo caching impossible behind apache

Hi,

First of all, you do a great job with private-bower.

So my problem is:

  • I host a private bower repo in my company.
  • It's hosted at this kind of address: https://mycompany.com/privateBower
  • I've activated git repo caching.
  • Here is the conf for the git repo caching part:
"git": {
            "enabled": true,
            "cacheDirectory": "/var/bower/gitRepoCache",
            "host": "localhost",
            "port": 6789,
            "refreshTimeout": 10
        }
  • So the git daemon is launched with host localhost. When I do bower install, it resolves it with git://localhost.... of course doesn't work on my dev computer.
  • If I try to launch it with host mycompany.com/privateBowerGit it doesn't start at all.

So we should be able to distinguish the host for the server git daemon and the one in the url for bower to resolve it. And I think that most of the time, git daemon should be launched on the server as localhost but the URLs should be dynamic.

Thanks for your answer. I'll try to do a pull request.

bower register quits with 404

Hi,

Thanks a lot for private-bower!

However, I can't get 'bower register' to work with it. The bower version is 1.3.3.

Every time I'm doing 'bower register' it quits with the 404 error.

After a bit of debugging, I have found out that bower sends a registration POST request to registry.register + '/packages. In other words, whatever you put in registry.register in .bowerrc it suffixes with /packages. For example, if .bowerrc has the following:

{
    "directory": "bower_components",
    "registry":  {
        "search": "http://localhost:5678/packages",
        "register": "http://localhost:5678/registerPackage"
    }
}

'bower register' will send a POST request to:

http://localhost:5678/registerPackage/packages

Can't visit from other computer(IP) than localhost

I have startup a private-bower and set .bowerrc file. But I found I can only use this repository on the server itself.
It's OK when I run install on server machine

$ bower install underscore
bower underscore#*          not-cached git://localhost:6789/underscore#*
bower underscore#*             resolve git://localhost:6789/underscore#*
bower underscore#*            checkout 1.6.0
bower underscore#*             old-git It seems you are using an old version of git, it will be slower and propitious to errors!
bower underscore#*            resolved git://localhost:6789/underscore#1.6.0
bower underscore#~1.6.0        install underscore#1.6.0

But on other machine

$ bower install underscore
bower underscore#*          not-cached git://localhost:6789/underscore#*
bower underscore#*             resolve git://localhost:6789/underscore#*
bower underscore#*             ECMDERR Failed to execute "git ls-remote --tags --heads git://localhost:6789/underscore", exit code of #128

Additional error details:
localhost[0: 127.0.0.1]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)

I wonder maybe there is something wrong with git, so I try to check if "git ls-remote" goes well. Then I found even on server machine it can only be visit by localhost !
if I use localhost:

git ls-remote --tags --heads git://localhost:6789/jquery
4f776e5ff91c48891f02d1ca3ba31132477d3972    refs/heads/master
bcc8a837055fe720579628d758b7034d6b520f2e    refs/tags/1.0
bcc8a837055fe720579628d758b7034d6b520f2e    refs/tags/1.0.1
dbee06de85859af59591813d3004e6695b8bb278    refs/tags/1.0.2
4e3da33c59fafe34e237585743e86e24ba81046e    refs/tags/1.0.3
ed37ca66e5f79b4250f38cbd7a7f809ebfc15a20    refs/tags/1.0.4
73f55becc5e056ad28f6aec22ec014ffb3ab913b    refs/tags/1.0a
2aa67026ebe6bea90fd137fc99b4c9422977e3f0    refs/tags/1.1
2550b1ea6a6eb6ba50d378a5dcfbc8146ca88bff    refs/tags/1.1.1
...

if I use ip instead of localhost

$ git ls-remote --tags --heads git://10.172.78.122:6789/jquery
10.172.78.122[0: 10.172.78.122]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)

Before private-bower I haven't use git-daemon.
Do you know what's wrong with my private-bower setting?
Thank you again for everything you’ve done 👍

Add repo json requirement to docs

the repo file must have atleast {} in it, or the application throws the following error:

Exception message:SyntaxError: Unexpected end of input
    at Object.parse (native)
    at _loadPackages (/usr/lib/node_modules/private-bower/lib/package-store.js:75:26)
    at _init (/usr/lib/node_modules/private-bower/lib/package-store.js:9:9)
    at new PackageStore (/usr/lib/node_modules/private-bower/lib/package-store.js:7:5)
    at Object._init [as run] (/usr/lib/node_modules/private-bower/lib/server.js:29:21)
    at Object.<anonymous> (/usr/lib/node_modules/private-bower/bin/private-bower:3:26)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

It will create an undefined package when registry fail

After registry with wrong way. I found there is an "undefined" package in bowerRepository.json

$ cat bowerRepository.json 
{
    "zepto": {
        "name": "zepto",
        "repo": "git://localhost:6789/zepto",
        "hits": 1
    },
    "jquery": {
        "name": "jquery",
        "repo": "git://xmseapp01:6789/jquery",
        "hits": 3
    },
    "undefined": {
        "hits": 0
    }
}

Private-bower crashed

Version 0.4.6

Thats the full log:

[bower]  28/7/14 12:11:45   Refreshing public packages...
[bower]  28/7/14 12:11:45   Bower server started on port 5678
[bower]  28/7/14 12:11:45   Starting git cache server
[bower]  28/7/14 12:11:50   Loaded public packages
[bower]  28/7/14 12:19:4   Cloning addressparser ...
[bower]  28/7/14 12:19:4   Cloning backbone.linear ...
[bower]  28/7/14 12:19:4   Cloning async ...
[bower]  28/7/14 12:19:4   Cloning backbone ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/addressparser
[bower]  28/7/14 12:19:4   Cloning backbone.routeFilter ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/backbone
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/async
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/backbone.linear
[bower]  28/7/14 12:19:4   Cloning backbone.stickit ...
[bower]  28/7/14 12:19:4   Cloning backbone.syphon ...
[bower]  28/7/14 12:19:4   Cloning Backbone.Undo ...
[bower]  28/7/14 12:19:4   Cloning backbone-validation ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/Backbone.Undo
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/backbone.routeFilter
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/backbone.stickit
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/backbone.syphon
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/backbone-validation
[bower]  28/7/14 12:19:4   Cloning blueimp-file-upload ...
[bower]  28/7/14 12:19:4   Cloning bootstrap ...
[bower]  28/7/14 12:19:4   Cloning bootstrap-sass-official ...
[bower]  28/7/14 12:19:4   Cloning bootstrap-daterangepicker ...
[bower]  28/7/14 12:19:4   Cloning bootstrap-datetimepicker ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/blueimp-file-upload
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/bootstrap-sass-official
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/bootstrap
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/bootstrap-datetimepicker
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/bootstrap-daterangepicker
[bower]  28/7/14 12:19:4   Cloning bootstrap-multiselect ...
[bower]  28/7/14 12:19:4   Cloning bootstrap-timepicker ...
[bower]  28/7/14 12:19:4   Cloning chai ...
[bower]  28/7/14 12:19:4   Cloning chai-jquery ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/chai
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/bootstrap-timepicker
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/bootstrap-multiselect
[bower]  28/7/14 12:19:4   Cloning chai-json-schema ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/chai-jquery
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/chai-json-schema
[bower]  28/7/14 12:19:4   Cloning datejs ...
[bower]  28/7/14 12:19:4   Cloning dynatree ...
[bower]  28/7/14 12:19:4   Cloning ect ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/dynatree
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/datejs
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/ect
[bower]  28/7/14 12:19:4   Cloning eventEmitter ...
[bower]  28/7/14 12:19:4   Cloning eventie ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/eventEmitter
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/eventie
[bower]  28/7/14 12:19:4   Cloning fancytree ...
[bower]  28/7/14 12:19:4   Cloning jquery ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/fancytree
[bower]  28/7/14 12:19:4   Cloning jquery-autosize ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/jquery
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/jquery-autosize
[bower]  28/7/14 12:19:4   Cloning jquery-flot ...
[bower]  28/7/14 12:19:4   Failed to clone git://*:6789/jquery-flot
[bower]  28/7/14 12:19:4   Cloning jquery-idletimer ...
[bower]  28/7/14 12:19:5   Cloning jquery-nicescroll ...
[bower]  28/7/14 12:19:5   Cloning jquery-simplecolorpicker ...
[bower]  28/7/14 12:19:5   Cloning jquery.event.drag-drop ...
[bower]  28/7/14 12:19:5   Cloning jquery-ui ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/jquery-nicescroll
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/jquery-idletimer
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/jquery-simplecolorpicker
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/jquery.event.drag-drop
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/jquery-ui
[bower]  28/7/14 12:19:5   Cloning jquery.uniform ...
[bower]  28/7/14 12:19:5   Cloning jsonpointer.js ...
[bower]  28/7/14 12:19:5   Cloning i18next ...
[bower]  28/7/14 12:19:5   Cloning imagesloaded ...
[bower]  28/7/14 12:19:5   Cloning lodash ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/jquery.uniform
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/i18next
[bower]  28/7/14 12:19:5   Cloning marionette ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/imagesloaded
[bower]  28/7/14 12:19:5   Cloning mocha ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/marionette
[bower]  28/7/14 12:19:5   Cloning modernizr ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/modernizr
[bower]  28/7/14 12:19:5   Cloning moment ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/mocha
[bower]  28/7/14 12:19:5   Cloning multiselect ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/moment
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/multiselect
[bower]  28/7/14 12:19:5   Cloning noty ...
[bower]  28/7/14 12:19:5   Cloning nprogress ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/noty
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/jsonpointer.js
[bower]  28/7/14 12:19:5   Cloning pnotify ...
[bower]  28/7/14 12:19:5   Cloning pushstream ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/nprogress
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/pnotify
[bower]  28/7/14 12:19:5   Cloning q ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/q
[bower]  28/7/14 12:19:5   Cloning qtip2 ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/qtip2
[bower]  28/7/14 12:19:5   Cloning require-cs ...
[bower]  28/7/14 12:19:5   Cloning requirejs-text ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/requirejs-text
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/pushstream
[bower]  28/7/14 12:19:5   Cloning requirejs ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/requirejs
[bower]  28/7/14 12:19:5   Cloning tv4 ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/tv4
[bower]  28/7/14 12:19:5   Cloning x2js ...
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/x2js
[bower]  28/7/14 12:19:5   Failed to clone git://*:6789/lodash
[bower]  28/7/14 12:19:24   Cloned require-cs git repository to private
[bower]  28/7/14 12:19:24   Registered package: require-cs
[bower]  28/7/14 12:21:45   Refreshing cached public git repositories

/usr/lib/node_modules/private-bower/lib/repo-caches/repo-cache-base.js:37
                process.chdir(packageDirectory);
                        ^
Error: ENOENT, no such file or directory
    at pullLatest (/usr/lib/node_modules/private-bower/lib/repo-caches/repo-cache-base.js:37:25)
    at /usr/lib/node_modules/private-bower/lib/repo-caches/repo-cache-base.js:25:42
    at Array.forEach (native)
    at pullLatestForAllRepos (/usr/lib/node_modules/private-bower/lib/repo-caches/repo-cache-base.js:24:30)
    at Object._getLatestForRepos [as getLatestForRepos] (/usr/lib/node_modules/private-bower/lib/repo-caches/repo-cache-base.js:13:9)
    at _getLatestForRepos (/usr/lib/node_modules/private-bower/lib/repo-caches/git-repo-cache.js:152:21)
    at wrapper [as _onTimeout] (timers.js:258:14)
    at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)

Cached packages are not available to bower when they are requested

The additional logging in this report was done on my part to understand how things are called. In bower.conf.json, gitHost cannot be defined as "git://private-bower" but should instead be defined as just "private-bower"; with no protocol defined. It is probably a documentation bug and should be corrected in another bug report, but this has to be configured appropriately to see this defect. This setting can be verified by executing "git daemon --verbose --base-path="/path/to/repoCache" --listen=private-bower --port=6789 --export-all" from the command-line. Using a protocol in the listen parameter causes git-daemon to fail to start.

[bower@private-bower ~]$ private-bower --config ./bower.conf.json
[bower]  server._init()
[bower]  server._loadConfig()
[bower]  package-store._init()
[bower]  package-store._loadPackages()
[bower]  public-package-store._init()
[bower]  Refreshing public packages...
[bower]  public-package-store._loadPublicPackages()
[bower]  public-package-store.createClient()
[bower]  public-repo-cache._init()
[bower]  public-repo-cache._createDirectory(dir:/path/to/repoCache)
[bower]  server._initService()
connect: multipart: use parser (multiparty, busboy, formidable) directly
connect: limit: Restrict request size at location of read
[bower]  Bower server started on port 5678
[bower]  public-repo-cache._startGitDaemon()
[bower]  Starting git cache server
[bower]  $ git daemon --verbose --base-path="/path/to/repoCache" --listen=private-bower --port=6789 --export-all
[bower]  public-package-store.processData(data:[ { "name": name, "url" : url, "hits" : hits }, ])
[bower]  Loaded public packages

At this point, private-bower is loaded and it has started git-daemon. I've configured the .bowerrc to point to my private-bower, bower-hostname, using "{ 'registry': 'http://bower-hostname:5678' }". The configuration alone works if repositoryCache.enabled=false, so the bug is part of the repositoryCache.

[cilent@client-host ~]$ bower install bootstrap

[bower]  /packages/:name
[bower]  package-store._getPackage(packageName:bootstrap)
[bower]  public-package-store._getPackage(packageName:bootstrap)
[bower]  public-repo-cache._cacheRepo(repoName:bootstrap, repoUrl:git://github.com/twbs/bootstrap.git)
[bower]  public-repo-cache._createDirectory(dir:/path/to/repoCache/bootstrap)
[bower]  public-repo-cache._cloneGitRepo(repoUrl:git://github.com/twbs/bootstrap.git, packageDirectory:/path/to/repoCache/bootstrap, repoName:bootstrap)
[bower]  Cloning bootstrap ...
[bower]  $ git clone git://github.com/twbs/bootstrap.git ./
[bower]  Cloned bootstrap git repository to private
[bower]  Repo:git://private-bower:6789/bootstrap
[bower]  package-store._registerPackages(register:[
[bower]    { name: bootstrap, repo: git://private-bower:6789/bootstrap, hits: 1857314 },
[bower]  ])
[bower]  package-store._persistPackages()
[bower]  server:privatePackage("{ name:bootstrap, url:git://private-bower:6789/bootstrap, hits:1857314 }")
[bower]  res.send(privatePackage)@2

[client-host:stdout] bower ENOTFOUND     Package bootstrap not found

The first call fails with bower reporting ENOTFOUND. During this execution, bootstrap was successfully cloned and is in the git repo, it just failed to return to the bower client.

[cilent@client-host ~]$ bower install bootstrap

[bower]  /packages/:name
[bower]  package-store._getPackage(packageName:bootstrap)
[bower]  req.params.name: bootstrap
[bower]  server:privatePackage("{ name:bootstrap, url:git://private-bower:6789/bootstrap, hits:1 }")
[bower]  res.send(privatePackage)@1
[bower]  (timeout) call _persistPackages()
[bower]  package-store._persistPackages()
[bower]  /packages/:name
[bower]  package-store._getPackage(packageName:jquery)
[bower]  public-package-store._getPackage(packageName:jquery)
[bower]  public-repo-cache._cacheRepo(repoName:jquery, repoUrl:git://github.com/jquery/jquery.git)
[bower]  public-repo-cache._createDirectory(dir:/path/to/repoCache/jquery)
[bower]  public-repo-cache._cloneGitRepo(repoUrl:git://github.com/jquery/jquery.git, packageDirectory:/path/to/repoCache/jquery, repoName:jquery)
[bower]  Cloning jquery ...
[bower]  $ git clone git://github.com/jquery/jquery.git ./
[bower]  Cloned jquery git repository to private
[bower]  Repo:git://private-bower:6789/jquery
[bower]  package-store._registerPackages(register:[
[bower]    { name: jquery, repo: git://private-bower:6789/jquery, hits: 6593083 },
[bower]  ])
[bower]  package-store._persistPackages()
[bower]  server:privatePackage("{ name:jquery, url:git://private-bower:6789/jquery, hits:6593083 }")
[bower]  res.send(privatePackage)@2

[client-host:stdout] bower not-cached    git://private-bower:6789/bootstrap#*
[client-host:stdout] bower resolve       git://private-bower:6789/bootstrap#*
[client-host:stdout] bower checkout      bootstrap#v3.1.1
[client-host:stdout] bower resolved      git://private-bower:6789/bootstrap#3.1.1
[client-host:stdout] bower ENOTFOUND     Package jquery not found

The second call also fails, but now bootstrap is cached in git and it is served correctly. The dependency, jquery, now fails. It is worth noting that the first response from res.send(privatePackage) at https://github.com/Hacklone/private-bower/blob/master/lib/server.js#L150-L154 works but https://github.com/Hacklone/private-bower/blob/master/lib/server.js#L173 is the one that seems to be associated with the failure. It might be related, but the call to _persistPackages() when using the timeout, seems to be successful and _persistPackages() appears to happen AFTER the response. I'm not sure what the intended behavior is, so I haven't figured out if this is the root cause. It seems backwards to me for the second case though and it seems like _persistPackages() must be called before returning the response.

[cilent@client-host ~]$ bower install bootstrap

[bower]  /packages/:name
[bower]  package-store._getPackage(packageName:jquery)
[bower]  req.params.name: jquery
[bower]  server:privatePackage("{ name:jquery, url:git://private-bower:6789/jquery, hits:1 }")
[bower]  res.send(privatePackage)@1
[bower]  (timeout) call _persistPackages()
[bower]  package-store._persistPackages()

[client-host:stdout] bower cached        git://private-bower:6789/bootstrap#3.1.1
[client-host:stdout] bower validate      3.1.1 against git://private-bower:6789/bootstrap#*
[client-host:stdout] bower not-cached    git://private-bower:6789/jquery#>= 1.9.0
[client-host:stdout] bower resolve       git://private-bower:6789/jquery#>= 1.9.0
[client-host:stdout] bower checkout      jquery#2.1.1
[client-host:stdout] bower resolved      git://private-bower:6789/jquery#2.1.1
[client-host:stdout] bower install       bootstrap#3.1.1
[client-host:stdout] bower install       jquery#2.1.1
[client-host:stdout] 
[client-host:stdout] bootstrap#3.1.1 bower_components/bootstrap
[client-host:stdout] └── jquery#2.1.1
[client-host:stdout] 
[client-host:stdout] jquery#2.1.1 bower_components/jquery

The third time, both bootstrap and jquery were in the git repository, so bower on the client was able to install both packages.

How to install component which on svn with authentication

I have registry a component to private-bower, but the access of this component svn url need username and password. I don't know how to let private-bower know the username and password of svn repository. I have tried to let server side svn remember my username and password, But it's not working.

Store password unencrypted (yes/no)? yes

It will get an exception if I install this component:

[wlsuser@xmseapp03 bbb]$ bower install testmybowerpublish
-----------------------------------------
Update available: 1.3.8 (current: 1.3.5)
Run npm update -g bower to update
-----------------------------------------

bower testmybowerpublish#*  not-cached http://61.191.191.75:7777/repos/trunk/testmybowerpublish#*
bower testmybowerpublish#*     resolve http://61.191.191.75:7777/repos/trunk/testmybowerpublish#*
bower testmybowerpublish#*    download http://61.191.191.75:7777/repos/trunk/testmybowerpublish
bower testmybowerpublish#*       EHTTP Status code of 401

Private-bower can only alive for about 10 minutes

I turned off log4j , but private-bower was still crash frequently. I found pb can only alive for about 10 minutes. After 10 minutes it will crash by this exception

[2014-07-29 17:21:03.119] [INFO] console - [bower]  29/7/14 17:21:3   Refreshing cached public git repositories
[2014-07-29 17:21:03.123] [INFO] console - Caught exception: Error: ENOENT, no such file or directory
[2014-07-29 17:21:03.123] [INFO] console - [bower]  29/7/14 17:21:3   Shutting down private-bower

internally host public bower registry packages

This is in reference to #3 and seems to be a separate issue.

Thanks for committing the change so quickly but I feel there's more to this ;) ?
I'll try out locally, as I said this is to privately host both private and publicly registered packages with the aim that only a designated machine i.e. the machine running private-bower, is the bower registry and only this machine is allowed to access/download public registry packages
If that's already what you've committed then feel free to close this

"Starting git cache server" will never be

I found there is a log in git-repo-cache.js line 118:

logger.log('Starting git cache server');

But this log message never show

[2014-07-28 15:33:03.643] [INFO] console - [bower]  28/7/14 15:33:3   Refreshing public packages...
[2014-07-28 15:33:03.689] [INFO] console - [bower]  28/7/14 15:33:3   Bower server started on port 5678
[2014-07-28 15:33:03.731] [INFO] console - [bower]  28/7/14 15:33:3   Starting git cache server
[2014-07-28 15:33:03.738] [INFO] console - [bower]  28/7/14 15:33:3   Starting svn cache server

Is it a bug or a problem?

Add timestamp to log entries

This will be cool and helpful :)

Also it will be great if there is an option to disable colored output in log.

Fails to install due to node-waf dependency in node-rest-client

[email protected] depends on [email protected], which depends on node-zlib, which in turn requires node-waf to be available for installation.

I'm running node 0.10.28 and node-waf is not available, since it has been replaced by node-gyp. Therefore, the installation of private-bower fails.

The explicit dependency on node-zlib has been removed in [email protected], since zlib has since become a core dependency in node.

Updating the dependency of node-rest-client to 1.0.0 solved the installation issue for me.

"Failed to clone" message appears in log

Some "Failed to clone" messages appears in log when I do "bower install".

Despite this messages, "bower install" works correctly in most cases.

[bower]  4/8/14 11:58:57   Cloning addressparser ...
[bower]  4/8/14 11:58:57   Cloning async ...
[bower]  4/8/14 11:58:57   Cloning backbone.linear ...
[bower]  4/8/14 11:58:57   Failed to clone git://*:6789/addressparser
[bower]  4/8/14 11:58:57   Cloning backbone ...
[bower]  4/8/14 11:58:57   Failed to clone git://*:6789/backbone.linear
[bower]  4/8/14 11:58:57   Failed to clone git://*:6789/async
[bower]  4/8/14 11:58:57   Failed to clone git://*:6789/backbone
[bower]  4/8/14 11:58:57   Cloning backbone.routeFilter ...
[bower]  4/8/14 11:58:57   Cloning backbone.stickit ...
[bower]  4/8/14 11:58:57   Cloning backbone.syphon ...
[bower]  4/8/14 11:58:57   Cloning Backbone.Undo ...
[bower]  4/8/14 11:58:57   Failed to clone git://*:6789/backbone.routeFilter
[bower]  4/8/14 11:58:57   Failed to clone git://*:6789/backbone.syphon
[bower]  4/8/14 11:58:57   Failed to clone git://*:6789/backbone.stickit
[bower]  4/8/14 11:58:57   Failed to clone git://*:6789/Backbone.Undo
[bower]  4/8/14 11:58:57   Cloning backbone-validation ...
[bower]  4/8/14 11:58:57   Failed to clone git://*:6789/backbone-validation
[bower]  4/8/14 11:58:58   Cloning blueimp-file-upload ...
[bower]  4/8/14 11:58:58   Cloning bootstrap ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/blueimp-file-upload
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/bootstrap
[bower]  4/8/14 11:58:58   Cloning bootstrap-sass-official ...
[bower]  4/8/14 11:58:58   Cloning bootstrap-daterangepicker ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/bootstrap-sass-official
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/bootstrap-daterangepicker
[bower]  4/8/14 11:58:58   Cloning bootstrap-datetimepicker ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/bootstrap-datetimepicker
[bower]  4/8/14 11:58:58   Cloning bootstrap-multiselect ...
[bower]  4/8/14 11:58:58   Cloning bootstrap-timepicker ...
[bower]  4/8/14 11:58:58   Cloning chai ...
[bower]  4/8/14 11:58:58   Cloning chai-jquery ...
[bower]  4/8/14 11:58:58   Cloning chai-json-schema ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/bootstrap-timepicker
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/bootstrap-multiselect
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/chai-json-schema
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/chai-jquery
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/chai
[bower]  4/8/14 11:58:58   Cloning datejs ...
[bower]  4/8/14 11:58:58   Cloning dynatree ...
[bower]  4/8/14 11:58:58   Cloning ect ...
[bower]  4/8/14 11:58:58   Cloning eventEmitter ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/datejs
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/eventEmitter
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/ect
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/dynatree
[bower]  4/8/14 11:58:58   Cloning eventie ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/eventie
[bower]  4/8/14 11:58:58   Cloning fancytree ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/fancytree
[bower]  4/8/14 11:58:58   Cloning jquery ...
[bower]  4/8/14 11:58:58   Cloning jquery-autosize ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jquery
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jquery-autosize
[bower]  4/8/14 11:58:58   Cloning jquery-flot ...
[bower]  4/8/14 11:58:58   Cloning jquery-idletimer ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jquery-flot
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jquery-idletimer
[bower]  4/8/14 11:58:58   Cloning jquery-nicescroll ...
[bower]  4/8/14 11:58:58   Cloning jquery-simplecolorpicker ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jquery-nicescroll
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jquery-simplecolorpicker
[bower]  4/8/14 11:58:58   Cloning jquery.event.drag-drop ...
[bower]  4/8/14 11:58:58   Cloning jquery-ui ...
[bower]  4/8/14 11:58:58   Cloning jquery.uniform ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jquery.event.drag-drop
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jquery.uniform
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jquery-ui
[bower]  4/8/14 11:58:58   Cloning jsonpointer.js ...
[bower]  4/8/14 11:58:58   Cloning i18next ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/i18next
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/jsonpointer.js
[bower]  4/8/14 11:58:58   Cloning imagesloaded ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/imagesloaded
[bower]  4/8/14 11:58:58   Cloning lodash ...
[bower]  4/8/14 11:58:58   Cloning marionette ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/lodash
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/marionette
[bower]  4/8/14 11:58:58   Cloning mocha ...
[bower]  4/8/14 11:58:58   Cloning modernizr ...
[bower]  4/8/14 11:58:58   Cloning moment ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/mocha
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/moment
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/modernizr
[bower]  4/8/14 11:58:58   Cloning multiselect ...
[bower]  4/8/14 11:58:58   Cloning noty ...
[bower]  4/8/14 11:58:58   Cloning nprogress ...
[bower]  4/8/14 11:58:58   Cloning pnotify ...
[bower]  4/8/14 11:58:58   Cloning pushstream ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/multiselect
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/pnotify
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/nprogress
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/noty
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/pushstream
[bower]  4/8/14 11:58:58   Cloning q ...
[bower]  4/8/14 11:58:58   Cloning qtip2 ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/q
[bower]  4/8/14 11:58:58   Cloning require-cs ...
[bower]  4/8/14 11:58:58   Cloning requirejs-text ...
[bower]  4/8/14 11:58:58   Cloning requirejs ...
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/qtip2
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/requirejs-text
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/require-cs
[bower]  4/8/14 11:58:58   Failed to clone git://*:6789/requirejs
[bower]  4/8/14 11:58:59   Cloning tv4 ...
[bower]  4/8/14 11:58:59   Cloning x2js ...
[bower]  4/8/14 11:58:59   Failed to clone git://*:6789/tv4
[bower]  4/8/14 11:58:59   Failed to clone git://*:6789/x2js
[bower]  4/8/14 11:58:59   Cloning jquery.ajax.fake ...
[bower]  4/8/14 11:58:59   Cloning underscore ...
[bower]  4/8/14 11:58:59   Failed to clone git://*:6789/underscore
[bower]  4/8/14 11:58:59   Failed to clone git://*:6789/jquery.ajax.fake
[bower]  4/8/14 11:59:0   Cloning momentjs ...
[bower]  4/8/14 11:59:0   Failed to clone git://*:6789/momentjs
[bower]  4/8/14 11:59:1   Cloning blueimp-load-image ...
[bower]  4/8/14 11:59:1   Cloning blueimp-tmpl ...
[bower]  4/8/14 11:59:1   Cloning blueimp-canvas-to-blob ...
[bower]  4/8/14 11:59:1   Failed to clone git://*:6789/blueimp-canvas-to-blob
[bower]  4/8/14 11:59:1   Failed to clone git://*:6789/blueimp-tmpl
[bower]  4/8/14 11:59:1   Failed to clone git://*:6789/blueimp-load-image
[bower]  4/8/14 11:59:2   Cloning backbone.babysitter ...
[bower]  4/8/14 11:59:2   Cloning backbone.wreqr ...
[bower]  4/8/14 11:59:2   Failed to clone git://*:6789/backbone.babysitter
[bower]  4/8/14 11:59:2   Failed to clone git://*:6789/backbone.wreqr
[bower]  4/8/14 12:8:27   Refreshing cached public git repositories
[bower]  4/8/14 12:8:28   Pulled latest for backbone.routeFilter
[bower]  4/8/14 12:8:28   Pulled latest for Backbone.Undo
[bower]  4/8/14 12:8:28   Pulled latest for backbone.babysitter
[bower]  4/8/14 12:8:28   Pulled latest for backbone.linear
[bower]  4/8/14 12:8:28   Pulled latest for backbone.syphon
[bower]  4/8/14 12:8:28   Pulled latest for blueimp-tmpl
[bower]  4/8/14 12:8:28   Pulled latest for backbone.wreqr
[bower]  4/8/14 12:8:28   Pulled latest for addressparser
[bower]  4/8/14 12:8:28   Pulled latest for blueimp-load-image
[bower]  4/8/14 12:8:28   Pulled latest for blueimp-canvas-to-blob
[bower]  4/8/14 12:8:28   Pulled latest for chai-jquery
[bower]  4/8/14 12:8:28   Pulled latest for chai-json-schema
[bower]  4/8/14 12:8:28   Pulled latest for ect
[bower]  4/8/14 12:8:28   Pulled latest for backbone.stickit
[bower]  4/8/14 12:8:28   Pulled latest for dynatree
[bower]  4/8/14 12:8:28   Pulled latest for eventie
[bower]  4/8/14 12:8:28   Pulled latest for datejs
[bower]  4/8/14 12:8:28   Pulled latest for backbone-validation
[bower]  4/8/14 12:8:28   Pulled latest for blueimp-file-upload
[bower]  4/8/14 12:8:28   Pulled latest for bootstrap-datetimepicker
[bower]  4/8/14 12:8:28   Pulled latest for bootstrap-multiselect
[bower]  4/8/14 12:8:28   Pulled latest for bootstrap-timepicker
[bower]  4/8/14 12:8:28   Pulled latest for eventEmitter
[bower]  4/8/14 12:8:28   Pulled latest for bootstrap-daterangepicker
[bower]  4/8/14 12:8:28   Pulled latest for jquery-nicescroll
[bower]  4/8/14 12:8:28   Pulled latest for chai
[bower]  4/8/14 12:8:28   Pulled latest for jquery-ui
[bower]  4/8/14 12:8:28   Pulled latest for jquery-idletimer
[bower]  4/8/14 12:8:28   Pulled latest for jquery-simplecolorpicker
[bower]  4/8/14 12:8:28   Pulled latest for jquery.uniform
[bower]  4/8/14 12:8:28   Pulled latest for jquery.ajax.fake
[bower]  4/8/14 12:8:28   Pulled latest for i18next
[bower]  4/8/14 12:8:28   Pulled latest for fancytree
[bower]  4/8/14 12:8:28   Pulled latest for jsonpointer.js
[bower]  4/8/14 12:8:28   Pulled latest for imagesloaded
[bower]  4/8/14 12:8:28   Pulled latest for jquery.event.drag-drop
[bower]  4/8/14 12:8:28   Pulled latest for async
[bower]  4/8/14 12:8:28   Pulled latest for jquery-autosize
[bower]  4/8/14 12:8:28   Pulled latest for bootstrap-sass-official
[bower]  4/8/14 12:8:28   Pulled latest for pushstream
[bower]  4/8/14 12:8:28   Pulled latest for coffee-script.old
[bower]  4/8/14 12:8:28   Pulled latest for nprogress
[bower]  4/8/14 12:8:28   Pulled latest for qtip2
[bower]  4/8/14 12:8:28   Pulled latest for pnotify
[bower]  4/8/14 12:8:28   Pulled latest for require-cs
[bower]  4/8/14 12:8:28   Pulled latest for sprintf
[bower]  4/8/14 12:8:28   Pulled latest for requirejs
[bower]  4/8/14 12:8:28   Pulled latest for requirejs-text
[bower]  4/8/14 12:8:28   Pulled latest for autotype
[bower]  4/8/14 12:8:28   Pulled latest for q
[bower]  4/8/14 12:8:28   Pulled latest for multiselect
[bower]  4/8/14 12:8:28   Pulled latest for jquery-flot
[bower]  4/8/14 12:8:28   Pulled latest for x2js
[bower]  4/8/14 12:8:28   Pulled latest for noty
[bower]  4/8/14 12:8:28   Pulled latest for tv4
[bower]  4/8/14 12:8:29   Pulled latest for backbone.paginator
[bower]  4/8/14 12:8:29   Pulled latest for modernizr
[bower]  4/8/14 12:8:29   Pulled latest for mocha
[bower]  4/8/14 12:8:29   Pulled latest for moment
[bower]  4/8/14 12:8:29   Pulled latest for momentjs
[bower]  4/8/14 12:8:29   Pulled latest for marionette
[bower]  4/8/14 12:8:29   Pulled latest for backbone
[bower]  4/8/14 12:8:29   Pulled latest for flot.rangeselection
[bower]  4/8/14 12:8:29   Pulled latest for coffee-script
[bower]  4/8/14 12:8:29   Pulled latest for jquery-dropdown
[bower]  4/8/14 12:8:29   Pulled latest for jquery
[bower]  4/8/14 12:8:29   Pulled latest for underscore
[bower]  4/8/14 12:8:29   Pulled latest for slickgrid
[bower]  4/8/14 12:8:29   Pulled latest for xeditable
[bower]  4/8/14 12:8:29   Pulled latest for select2
[bower]  4/8/14 12:8:29   Pulled latest for bootstrap

what's the right way to install special version bower component

I installed 2 version of one component (0.0.1 0.0.2). But when I want to install special version of component (0.0.1), it gets this exception:

[wlsuser@xmseapp03 bbb]$ bower install testbowerregistry#0.0.1
bower testbowerregistry#0.0.1       not-cached https://github.com/alexxiyang/testbowerregistry.git#0.0.1
bower testbowerregistry#0.0.1          resolve https://github.com/alexxiyang/testbowerregistry.git#0.0.1
bower testbowerregistry#0.0.1     ENORESTARGET No tag found that was able to satisfy 0.0.1

So I think maybe I didn't use the right way to assign the version to private-bower. Here is my registry command:

$ curl -X POST http://xmseapp02:5678/registerPackages -d '{"packages":[{"name":"testbowerregistry","repo":"https://github.com/alexxiyang/testbowerregistry.git"}]}' -H "Content-Type: application/json" --header "Auth-Key:123456"

Could you tell me how to registry the component so that private-bower can know what version the component I try to registry?

Remove package bug

I think there is a bug with README.
README said:

Remove package

POST

bower-server:5678/removePackage

{ "name": "package-name" }

But when I use curl to send a json to remove package like this:

curl -X POST http://localhost:5678/removePackage -d '{"name":"jquery"}'

Server side

[2014-07-18 15:55:55.204] [INFO] console - [bower]  18/7/14 15:55:55   Removed package: undefined

Then I change the way from sending a json to a normal post form like this

curl -X POST http://localhost:5678/removePackage --data 'name=jquery'

This time, it works!

[2014-07-18 15:56:50.372] [INFO] console - [bower]  18/7/14 15:56:50   Removed package: jquery

My private-bower service was down

Today , I found my private-bower service (5678) was down, but git and svn services are still alive

Here is the log:

[root@sjengnpmbw01 private-bower]# cat private-bower.log
[2014-07-24 02:00:02.537] [INFO] console - [bower]  24/7/14 2:0:2   Refreshing public packages...
[2014-07-24 02:00:02.560] [INFO] console - [bower]  24/7/14 2:0:2   Bower server started on port 5678
[2014-07-24 02:00:02.597] [INFO] console - [bower]  24/7/14 2:0:2   Starting git cache server
[2014-07-24 02:00:02.604] [INFO] console - [bower]  24/7/14 2:0:2   Failed to initialize public repository cache
[2014-07-24 02:00:31.966] [INFO] console - [bower]  24/7/14 2:0:31   Refreshing public packages...
[2014-07-24 02:00:31.990] [INFO] console - [bower]  24/7/14 2:0:31   Bower server started on port 5678
[2014-07-24 02:00:32.033] [INFO] console - [bower]  24/7/14 2:0:32   Starting git cache server
[2014-07-24 02:00:32.037] [INFO] console - [bower]  24/7/14 2:0:32   Starting svn cache server
[2014-07-24 02:00:33.501] [INFO] console - [bower]  24/7/14 2:0:33   Loaded public packages

Could you tell me why the service was down? What's the meaning of "Failed to initialize public repository cache" ?

Support private packages git repo caching

Support git repo caching when version defined with commit hash - something like this (bower.json):

"dependencies": {
    "some-package": "someone/some-package#ddb859e7e7d2beb9c7ecd54cfe4ea2e67ac1d797"
 }

Remove package didn't clean package cache

I found remove package didn't clean package cache. And it will cause this package can't cache again.

How to reproduce
STEP 1 install jquery

$ bower install jquery

After everything is done. We check bowerRepository.json . There is a jquery section. And there is jquery folder in gitRepoCache

STEP 2 remove jquery
send a post request to remove jquery. After that we check bowerRepository.json. The jquery section was been removed. But the jquery folder in gitRepoCache is still there.

STEP 3 re-install jquery

$ bower install jquery
bower jquery#*              not-cached git://github.com/jquery/jquery.git#*
bower jquery#*                 resolve git://github.com/jquery/jquery.git#*
bower jquery#*                download https://github.com/jquery/jquery/archive/2.1.1.tar.gz
bower jquery#*                 extract archive.tar.gz
bower jquery#*                resolved git://github.com/jquery/jquery.git#2.1.1
bower jquery#~2.1.1            install jquery#2.1.1

You will found private-bower didn't cache jquery. Why? When we check server side, it said

[2014-07-18 16:03:50.734] [INFO] console - [bower]  18/7/14 16:3:50   Cloning jquery ...
[2014-07-18 16:03:50.747] [INFO] console - [bower]  18/7/14 16:3:50   Failed to clone git://github.com/jquery/jquery.git

Re-install jquer is ok If I removed jquery cache folder manually after sent remove request.

Print more error message

Can private-bower print more error message when fail?
I saw this message in log:

[2014-08-28 10:06:47.439] [INFO] console - [bower]  28/8/14 10:6:47   Cloning underscore ...
[2014-08-28 10:06:47.453] [INFO] console - [bower]  28/8/14 10:6:47   Failed to clone git://github.com/jashkenas/underscore.git

But I don't know why it will fail. Cause I can clone this repo by manually.

[root@localhost ~]# git clone git://github.com/jashkenas/underscore.git
Initialized empty Git repository in /root/underscore/.git/
remote: Counting objects: 6019, done.
remote: Compressing objects: 100% (112/112), done.
remote: Total 6019 (delta 65), reused 24 (delta 10)
Receiving objects: 100% (6019/6019), 3.62 MiB | 1.42 MiB/s, done.
Resolving deltas: 100% (3394/3394), done.

Finally I found the problem is because gitRepoCache already has a folder "undersocre". But maybe I would be so luck next time, so I thinks give a more detail error message is necessary.

How to stop private-bower

The only way to stop private-bower now is kill the process. But we still have to stop git-deamon (listen on 6789) and svn server (7891) manually. Could you provide a way to stop all these process by one command, such as 'service private-bower stop' ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.