Clojure just rides on top of Java's Maven which installs jars to ~/.m2 and 
then updates your project's CLASSPATH based on the deps listed in your 
project config file. Ruby does something similar with Gemfile's.  All gems 
are installed in your Gempath but then Bundler (maybe part of gem itself?) 
updates your load path so all the listed deps are in it. Python has 
virutalenv. 

What I believe Dave is asking for the ability to have different versions of 
libraries installed at the same time but have each project specify which 
one to use.  So, when you say "using Gadfly" it would use a project dep 
config file to lookup when one to use.  


On Sunday, February 23, 2014 11:16:58 PM UTC-7, Stefan Karpinski wrote:
>
> I'm not entirely sure what you mean. Can you elaborate on this a little? 
> You cannot have many separate instances of dependencies as in NPM – only 
> one version of each package is loaded when you do "using" or "import". The 
> approach of having many instantiations of a package, possibly in different 
> versions is feasible in JavaScript because modules are written in pure 
> JavaScript and it's uncommon to load dynamic libraries. Julia is in the 
> opposite situation – it is extremely common to load and use dynamic 
> libraries with global state. Thus, the NPM approach is not practical. I'm 
> not sure what Clojure does.
>
>
> On Sun, Feb 23, 2014 at 3:22 PM, Dave Bettin <[email protected]<javascript:>
> > wrote:
>
>> First, I have recently enjoyed the use of both Clojure's and Node's 
>> package management facilities. 
>>
>> I am trying to understand how local project dependencies in Julia 
>> compare. So far what I can gather is most of Julia's intrinsic package 
>> handling is global.  
>>
>> Is it possible to download a private and/or public package and only 
>> manage its dependencies? Can one store these dependencies local to the 
>> package, akin to 'node_modules' in npm?
>>
>> Thanks!
>> Dave
>>
>
>

Reply via email to