

I tried running a shell without any changes to my PATH in any startup scripts, and the version of node was still correctly pointed to v12 as expected, but VS code still starts up v10 for eslint. Strangely, eslint was still reporting that it was started using v10. So, I uninstalled v10.11.0 via brew and closed/reopened VS Code. I found that the v10 version of node was installed by brew based on answer but my desired version of node was installed by nvm.

If I do not set ntime my system was running node v10.11.0 for eslint server, whereas I wanted it to be running v12.13.0 which I had installed and made default via nvm. I had this same issue and I found a strange workaround that may be helpful to someone else in the future. Here it is another alternative just in case this one doesn`t help that much. What I did to solve this in my case was the "workaround" part of that same issue reported, which is to reset the path by adding the following line inside my ~/.bash_profile at the very top before anything else: PATH="/usr/local/bin:$(getconf PATH)"Īnd after that no more warnings when I launch any integrated terminal on both editors and I can interact with nvm to switch between any node version easily and without problems at all. Run npm config delete prefix or nvm use -delete-prefix vx.x.x -silent to unset it. Nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local" I was always getting this message when launching any integrated terminal:

But in the subshell, PATH has been reconfigured by macOS to put any non-system directories at the end and we have the problem." In the parent shell, the PATH doesn't yet have an nvm dir in it, so by the time nvm runs, it prepends its directory to the path. MacOS's /etc/profile (or /etc/zprofile) calls /usr/libexec/path_helper, which does the PATH switcheroo. The prefix is not part of that tree, so it deactivates itself (calling nvm_strip_path in the process, which is why there's no nvm-related path in your subshell's PATH), and bails with the error you're getting.

