Interesting read (or skim, in my case)! 

I think there are some major problems with npm's nested approach too - for 
example, file paths tend to become so long that at least Windows has real 
troubles handling them (it's not fun to try to get out of a situation where you 
can't delete a folder because it's tree of subfolders is too deep, and not the 
subfolders because their paths are too long). 

My main takeaway, though, is that our package manager lacks solutions to two 
problems that npm solves with nested dependencies inside the project folder:

1 The ability to have different versions of the same package active on the same 
machine, and even in the same project's (sub)dependencies. 

2. The ability to specify dependencies and their versions on a per-project 
basis, also for projects that are not modules themselves, allowing you to check 
in a file specifying dependencies and then running something like Pkg.restore() 
to install everything you need. 

I think this can definitely be done with smaller changes to our ecosystem than 
going npm-style all the way, but I also think that these are important problems 
that should be considered in a future revamp of our package manager. 

// T 

Reply via email to