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.

Reply via email to