I guess, you could install `forever-agent` directly in your project from git/github (private or public). npm is smart enough to not install dependencies that are already resolved on the upper level of node_modules.
For example: let's assume that your project has a dependency from package "A". And "A" has a dependency from package "B": % npm install A PRJ @ 0.0.1/ └─┬ A @ 1.0.0 └── B @ 1.0.0 So, installing "B" directly to your project would prevent "A" from installing it's own version of "B" (until the semver requirements are satisfied) % npm install A % npm install git://<some/private/github>/B.git PRJ @ 0.0.1/ ├── A @ 1.0.0 └── B @ 1.0.1 On Friday, August 23, 2013 3:06:15 AM UTC+4, Adam Crabtree wrote: > > Unless I'm mistaken, it looks like those don't support my use-case, nor do > they seem to support private+public dependency trees at all. > > Use case: > npm install request # Get public request, but private forever-agent > > "Unfortunately npm client does not really support multiple registries > (e.g. private and public), therefore you can't mix public and private > packages in package.json dependencies." > > Cheers, > Adam Crabtree > > > On Thu, Aug 22, 2013 at 3:27 PM, andy e <[email protected] > <javascript:>>wrote: > >> I think https://github.com/stagas/npm-server might help. >> And/or node-reggie (https://github.com/mbrevoort/node-reggie - also see >> http://blog.strongloop.com/deploy-a-private-npm-registry-without-couchdb-or-redis/ >> ). >> >> andy >> >> >> On Thu, Aug 22, 2013 at 4:24 PM, Adam Crabtree >> <[email protected]<javascript:> >> > wrote: >> >>> Though it doesn't address the larger issue, that's definitely a better >>> approach than forking request. Thanks. =) >>> >>> I'd still prefer a better solution to the private npm issue though... >>> >>> Cheers, >>> Adam Crabtree >>> >>> >>> On Thu, Aug 22, 2013 at 2:48 PM, Kevin Swiber <[email protected]<javascript:> >>> > wrote: >>> >>>> >>>> >>>> >>>> On Thu, Aug 22, 2013 at 5:29 PM, Adam Crabtree >>>> <[email protected]<javascript:> >>>> > wrote: >>>> >>>>> Howdy all, >>>>> >>>>> We needed to fork forever-agent for some additional functionality, but >>>>> don't want to have to fork request as well since we have made no updates >>>>> to >>>>> it, and would lose semver. >>>>> >>>>> Currently, the only way to accomplish this that I know of, would be to >>>>> run a private npm repo that uses our private version for forever-agent >>>>> and >>>>> falls back on the public request, which feels like overkill. >>>>> >>>>> Is there a simpler solution? >>>>> >>>> >>>> You could update your calling code to use whatever combination of >>>> options.agent, options.agentClass, and options.agentOptions makes sense. >>>> >>>> https://github.com/mikeal/request/blob/master/request.js#L342-L352 >>>> >>>> If you wanted it to "just work" with no update to the code that calls >>>> request, well... that's much trickier. >>>> >>>> -- >>>> Kevin Swiber >>>> Projects: https://github.com/kevinswiber >>>> Twitter: @kevinswiber >>>> >>>> -- >>>> -- >>>> 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]<javascript:> >>>> To unsubscribe from this group, send email to >>>> [email protected] <javascript:> >>>> 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] <javascript:>. >>>> 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]<javascript:> >>> To unsubscribe from this group, send email to >>> [email protected] <javascript:> >>> 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] <javascript:>. >>> 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]<javascript:> >> To unsubscribe from this group, send email to >> [email protected] <javascript:> >> 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] <javascript:>. >> 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.
