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

VSCODE build error `The terminal process "/bin/zsh '-c', 'yarn run watch-extensionsd'" failed to launch (exit code: 127).`

Ask Question Hi, do you use MacOs or Linux with zsh? Is yarn installed? Do you have the script "watch-extensionsd' (including the d at the end) in the package.json? Markus Madeja Aug 20, 2020 at 9:38

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".

Would you please elaborate your answer? In settings.json, add this string: "terminal.integrated.inheritEnv": false – DannyThunder Mar 10, 2021 at 15:40

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.