Not really recommended however since that makes it hard to reason about where your modules are located. You'd also have to set the environment variable on every machine that you want to build your project on (though you could write a shell script wrapper for that).

Make a project-a and project-b subdirectories of gulp-framework.

Node traverses all parent directories looking for node_modules folders if a module can't be found in the current directory, so your projects can kind of "inherit" modules from the gulp-frameworks folder.

For Windows, updating the NODE_PATH variable from within the gulpfile.js.

The below updates the global node_path variable, when you initially run gulp, all node-processes have already been instantiated, so we run the _initPaths() method again so that it re-uses the updated node_path variable: