hacklone / private-bower Goto Github PK
View Code? Open in Web Editor NEWA simple private bower registry
License: Other
A simple private bower registry
License: Other
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
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
Support git repo caching when version defined with commit hash - something like this (bower.json):
"dependencies": {
"some-package": "someone/some-package#ddb859e7e7d2beb9c7ecd54cfe4ea2e67ac1d797"
}
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.
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
log4js seems a bit unstable, simple library less filebased logging is needed
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.
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
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?
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?!
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
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!
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 ?
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! 👍
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
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')
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
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.
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?
[bower] 1/9/14 15:0:49 Starting git cache server
[bower] 1/9/14 15:0:49 Failed to initialize public repository cache
[bower] 1/9/14 15:0:49 Exception message:undefined
It will be great if we can add custom git-daemon options to config (like --timeout or --max-connections)
If private-bower use git tag to get version information, where pb get version from svn component? svn tag?
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)
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
}
}
Hi,
First of all, you do a great job with private-bower.
So my problem is:
"git": {
"enabled": true,
"cacheDirectory": "/var/bower/gitRepoCache",
"host": "localhost",
"port": 6789,
"refreshTimeout": 10
}
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.
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)
As you know if you use npm to registry some package, can only registry one time. If you want to registry this package at that special version again, it will occur an exception.
So our company needs this feature on private-bower, could you tell me how to configure this feature on bower?
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" ?
Just curious. Why http://localhost:5678 always said "Private Bower service is down" although private-bower is working well.
What does this sentence mean?
I added auth key into configuration.
README said:
Add Auth-Key header to request.
Auth-Key = password
But how can I add auth-key header to "bower register [packageName] [gitRepo]"
$ 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 'contains'<br> at Object._removeRepo [as removeRepo] (/usr/lib/node_modules/private-bower/lib/repo-caches/repo-cache-base.js:67:30)<br> at /usr/lib/node_modules/private-bower/lib/server.js:184:27<br> at Array.forEach (native)<br> at /usr/lib/node_modules/private-bower/lib/server.js:183:22<br> at Array.forEach (native)<br> at _removePackagesFromRepoCaches (/usr/lib/node_modules/private-bower/lib/server.js:182:20)<br> at /usr/lib/node_modules/private-bower/lib/server.js:157:13<br> at callbacks (/usr/lib/node_modules/private-bower/node_modules/express/lib/router/index.js:164:37)<br> at param (/usr/lib/node_modules/private-bower/node_modules/express/lib/router/index.js:138:11)<br> at pass (/usr/lib/node_modules/private-bower/node_modules/express/lib/router/index.js:145:5)
[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.
Hi,
It would be interessting to cache the public bower packages to avoid depending on github etc when it's down.
Thanks
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
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)
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' ?
This will be cool and helpful :)
Also it will be great if there is an option to disable colored output in log.
Thanks for your job!
I have changed $http.get('/packages') to $http.get('packages') in private-bower.js because i use http://myserver/private-bower !
Have a good day
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
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
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)
Subj needed in paramaeters registryFile, cacheDirectory and --config option.
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
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 👍
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
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
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.
If you shutdown git-daemon with open connections, it will throw an error when restarting.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.