feross / zelda

Automatically `npm link` all your packages together!
MIT License
282 stars 32 forks source link

dependencies of dependencies aren't found #20

Closed michael-ts closed 7 years ago

michael-ts commented 7 years ago

So I've got a directory ~/git/node that contains all my packages under development. The top-level package that I invoke is in ~/git/node/my-server and it depends on quite a few other packages in ~/git/node. So I ~/git/node/my-server; zelda and it runs for quite some time (apparently re-building some stuff over and over in different places where it's needed) and then it finishes.

But when I try to run my server, one of the packages it loads can't find one its required dependencies. When I look at the directory structure, it looks like this:

~/git/node/node_modules -> . ~/git/node/service1/index.js ~/git/node/my-server/index.js ~/git/node/my-server/node_modules/streamline/

In other words, the module that service1 requires (streamline) is installed under my-server's node_modules directory, where of course it can't be found by service1 because it isn't the path that require is looking.

feross commented 7 years ago

When you run zelda, you need to pass your code directory as the first argument. From your issue, it's not clear that you're doing that.

Are you running zelda ~/git/node?

Also, can you explain the dependency relationship between my-server and service1? If you're running zelda from the ~/git/node/my-server folder then only the my-server deps will be installed.