Hi, Probably a dumb question, but what are the advantages of having a private npm repository over getting the modules from your private git repository with npm using: "my_module": "git+ssh://git@my_repo:my_module.git#version" ?
Cheers, Santi 2013/8/2 Adam Crabtree <[email protected]> > Miroslav, > > Thanks for the link to npm-proxy. I didn't realize that project existed. > > Osher, > > There is Nodejitsu's new "Enterprise Private npm" initiative, though I'm > not sure if it offers the same private/public fallback of npm-proxy, which > to me is the key feature for smaller companies not wanting to (like you > said) replicate the whole npm repo. I would opine that main npm repo can > get very slow at times (though usually not), so there is the additional > benefit of speed wrt hosting a replica even if it all seems rather wasteful. > > I personally find myself wanting to publish forks of public modules to a > private repo to avoid the need for npm_shrinkwrap for nested dependencies > needing fixes. > > Cheers, > Adam > > > > > On Thu, Aug 1, 2013 at 12:06 AM, Miroslav Bajtoš > <[email protected]>wrote: > >> Hi Osher, >> >> There are multiple options for setting up a private repo, unfortunately >> none of them is ideal. >> >> 1. Create a replica of npmjs.org >> 2. Setup your own registry using CouchDB and npmjs code, but don't >> replicate the public registry >> 3. Use a different registry server, e.g. reggie [1] mentioned by Andy >> >> Let's check your requirements: >> >> we don't want to host an entire replica of the npm (which is *HUGE *these >>> days, and growing) >>> i.e - the private replica should hold only our packages, the rest can >>> come from the public repo >> >> >> This is true for options 2 and 3. >> >> publishing should direct to our repo >> >> >> This can be achieved with all three options. Either add the following >> line to your package.json >> "publishConfig": { "registry": "http://private/registry/url" } >> or use the reggie CLI client for publishing the packages. >> >> install should take our packages from our repo, and public packages from >>> the global repo >> >> >> The npm client does not support multiple repositories at the moment, even >> though there are plans to get this implemented in the next few >> weeks/months. Unless you have a replica of npmjs.org (option 1), you >> must use different way for installing and referencing packages from public >> and private repository. >> >> With couchdb-based registry, you can use absolute URL to the tarball of >> the desired version. (This means you can't specify a fuzzy version like >> ~0.5.2.) >> >> Node reggie implements several kinds of package URLs to support fuzzy >> version specification. See project README [1] for more details. >> >> It may be possible to overcome this limitation by sticking an npm proxy >> [2] in front of your private registry. >> >> users in local repo should match users in global repo >> >> >> You will get this for free with npmjs.or replica. >> >> If its possible to setup CouchDB replication in such way that only users >> are replicated, then you can get this functionality with non-replicated >> CouchDB-based registry too. >> >> Reggie does not implement authentication and authorization at the moment >> - it will happily accept (and ignore) whatever credentials are sent by the >> npm client. >> >> I hope you will find this helpful, don't hesitate to ask if there is >> anything else not clear. >> >> Miroslav >> >> [1] https://github.com/mbrevoort/node-reggie >> [2] https://npmjs.org/package/npm-proxy >> >> >> On Wednesday, July 31, 2013 6:51:21 PM UTC+2, Osher E wrote: >> >>> oups, sorry for the resending, >>> but I forgot to mention another problem we had - >>> >>> - users in local repo should match users in global repo >>> >>> it sounds so simple, but we had problems with that >>> (all the part with npm adduser and stuff) >>> >>> >>> On Wed, Jul 31, 2013 at 7:36 PM, Osher El-Netanany <[email protected]>wrote: >>> >>>> Hi all, >>>> >>>> 'ok, this is kind'a embarrassing a little, >>>> we've tried few times in few ways but still did not get it right: >>>> >>>> - we're trying to set a local npm repo for our packages >>>> - we don't want to host an entire replica of the npm (which is *HUGE >>>> *these days, and growing) >>>> i.e - the private replica should hold only our packages, the rest >>>> can come from the public repo >>>> - publishing should direct to our repo >>>> - install should take our packages from our repo, and public >>>> packages from the global repo >>>> >>>> What's the best way to do it? >>>> What's the best contemporary tutorial/doc/explanation about it on the >>>> web? >>>> >>>> Thanks... >>>> Don >>>> >>> >>> -- >> -- >> Job Board: http://jobs.nodejs.org/ >> Posting guidelines: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> You received this message because you are subscribed to the Google >> Groups "nodejs" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/nodejs?hl=en?hl=en >> >> --- >> You received this message because you are subscribed to the Google Groups >> "nodejs" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > > > -- > Better a little with righteousness > than much gain with injustice. > Proverbs 16:8 > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to the Google Groups > "nodejs" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
