Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
Ask Question
–
The problem is your npm scripts in vscode is started with
/bin/zsh -c
(non-login non-interactive)
This means scripts inside ~/.zshrc is not executed (and for the same reason ~/.zprofile).
However, even in non-login non-interactive mode, ~/.zshenv is loaded.
Solution 1:
Change "npm.packageManager": to npm
Make sure you restart vscode to make this take into effect.
Solution 2 (preferred):
Open ~/.zshrc and move whatever scripts that is loading yarn into ~/.zshenv
In my specific case, my yarn is installed through npm npm i -g yarn
and my npm is installed through nvm. So I had to move following two lines.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
Solution 3:
Don't use VSCode's npm scripts. You can actually execute by opening terminal yourself shortcut ctrl + ` and typing out yarn "npm script name".
–
It happens that ~/.zshrc
is not sourced when VS Code is launched from the application menu but if it is launched from a terminal it works perfectly. So what I did is, I changed the command of Exec
field in the desktop entry file (/usr/local/applications/code.desktop
or ~/.local/share/applications/code.desktop
) to zsh -c "source $HOME/.zshrc && code"
.
Related to the above, if macOS and your computer recently restarted on its own (e.g., kernel panic), I found that VScode reloads improperly without loading the environment in all Terminals that were open prior.
The fix is simply to close out of VSCode completely, then relaunch. The environments will then load properly.
I just commented out a setting in VS Code. It works.
"files.exclude": {
"node_modules/": true
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.