I have two eshell buffers: esh1 and esh2.
In esh1, I want to use a particular Node version, say 6.0.0. In esh2, I want to use a different Node version, say 8.0.0.
Using a node version manager called 'n', I check the versions in both eshells. They're both 6.0.0.
So I go to esh2 and
n 8.0.0 which will change the working version of node. I check to ensure it's been updated.
However, when I go to esh1, it now also has version 8.0.0.
So it appears that eshell saves variables across all instances. This seems to support that: https://www.gnu.org/software/emacs/manual/html_node/eshell/Variables.html
Are there any work arounds for this?
Note 1: I haven't tried other version managers, like nvm, or rvm (for ruby), because I've had issues using them with eshell, but my guess is that I'd see the same problem. If I can get them working with eshell, I'll edit to confirm.
Note 2: I'm not interested in solutions like use "shell", "ansi-term", or "iterm".