'zsh: command not found: ng' in Visual Studio 代码在 Mac Catalina 上的集成终端

'zsh: command not found: ng' in Visual Studio Code's integrated terminal on Mac Catalina

较新的 Macs(Catalina OS 在我的例子中)现在有默认的 Z Shell aka zsh。使用 Mac zsh 终端 window,我已经成功地在全局安装了 Angular 11.0.5 并创建了一个项目。我正在使用 nvm 0.32.2node 10.23.0.

但是,在打开 Visual Studio Code 并在 VS Code integrated terminal 中导航到我的项目时,我使用任何 ng 命令收到此错误消息,例如尝试生成组件:

zsh: command not found: ng

有谁知道如何正确设置 Visual Studio 代码的 integrated terminal 以使用 zsh 正确识别 ng 命令?

我在这里找到了一种可行的解决方法 ,但它使用了第三方工具,我希望尽可能避免使用这些工具。没有其他已知的方法可以解决这个问题吗?

  • 设置 -> 功能 -> 终端

  • 单击“在 settings.json 中编辑”

  • 将这一行(键值)添加到对象中:

    "terminal.integrated.shell.osx": "/bin/zsh"
    
  • 关闭并重新启动 Visual Code。

如果这条线不适合你:

"terminal.integrated.shell.osx": "/bin/zsh"

然后尝试将“zsh”替换为“bash”,如下所示:

"terminal.integrated.shell.osx": "/bin/bash"

这是适合我的设置

  "terminal.integrated.defaultProfile.osx": "zsh",
  "terminal.integrated.profiles.osx": {
    "tmux": {
      "icon": "terminal-tmux",
      "path": "tmux"
    },
    "zsh": {
      "path": "/bin/zsh"
    }
  },

试试这个。为我工作

alias ng="/Users/<user_name>/.npm-global/bin/ng"

对于 1.62 的最新版本 vscode,在我尝试使用此处文档中的说明设置默认配置文件之前,没有任何效果:https://code.visualstudio.com/docs/editor/integrated-terminal#_terminal-profiles

不需要设置或命令,只需在 IDE 上单击几下即可。

vscode 的新建议方式:

This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile 
in `#terminal.integrated.profiles.osx#` and setting its profile name as the default 
in `#terminal.integrated.defaultProfile.osx#`. 

This will currently take priority over the new profiles settings but that will change in the future.