Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What constitutes an environment? #19

Open
marcelklehr opened this issue Jan 5, 2018 · 1 comment
Open

What constitutes an environment? #19

marcelklehr opened this issue Jan 5, 2018 · 1 comment

Comments

@marcelklehr
Copy link
Member

In an effort to sort out some preliminaries for #3, I suggest to think about what we need to store in the file system, i.e. what is part of an environment.

IMO, we should have separately installable/manageable blobs/containers/envirnments that contain and tie together

  • one node version (that's what we're here for)
  • ... sepcific to one machine architecture (because of native modules)
  • one npm installation (when you want it, you also want it per version; you may do to this installation whatever you want: upgrade it, break it, ignore it, etc.)
  • one repository of global modules (native modules again)

Should this buffet of node environements be accessible globally?
Where would the best place be for this buffet to live in the file system?
Would it maybe be more beneficial to store npm separately to allow separate management and thus rapid switching of it?

@ljharb
Copy link
Member

ljharb commented Jan 7, 2018

npm is a global modules installed in a node version; i think it's probably useful for a version manager to be able to set that up for a given node version, but there's only one global npm for a given node version.

Separately, global modules are by necessity distinct per node version, and must never be shared across them. A choice of node version (including JS engine and architecture) immediately provides a single place where all global modules, including npm, live.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants