【问题标题】:Mac M1 why node js is not running in OS terminal but in IDE terminals?Mac M1 为什么 node js 不在 OS 终端中运行,而是在 IDE 终端中运行?
【发布时间】:2021-05-22 12:01:58
【问题描述】:

在 M1 MacBook Air 上,我通过 NVM 安装了节点 14.x 和 16.x(NVM 由 homebrew 安装)

如果我在 iTerm 或 OS 终端上运行 node -v,我总是会得到 zsh: killed node -v

但是,如果我在 VSCode、Rubymine 或 Marta 的集成终端中运行相同的命令,节点会运行良好并产生版本号。 (我也可以使用node开发)

谁能解释为什么会这样。不同终端之间有什么区别?不是都在后台使用相同的zsh吗?

【问题讨论】:

  • 一些答案​​建议重新安装 Homebrew 和节点。 Q1, Q2

标签: node.js macos terminal zsh apple-m1


【解决方案1】:

由于我在由 homebrew 安装的进程中遇到了许多其他问题(然后仅在重新安装后运行),所以我决定完全卸载并重新安装 homebrew。不确定它是否有帮助,但其他人指出这是解决问题的一些方法。

另一个有用的帖子: Why does zsh kills my process every time I enter a git command

同样的问题,类似的解决方案。

【讨论】:

    【解决方案2】:

    以下命令将有助于识别您正在使用的内核。

    ps -p $$
    

    尝试执行上述命令并比较内核。

    如果您想更改系统的默认内核,您可以按照以下步骤操作:-

    通过运行以下命令将默认 shell 更改为 Bash:

    chsh -s /bin/bash
    

    您必须输入用户帐户的密码。最后,关闭终端窗口并重新打开它。您将使用 Bash 而不是 Zsh。

    如果这不能解决您的问题,并且如果您使用 brew 安装节点并且它可能与 brew 安装有关,如下文所述:

    node-gets-instantly-killed-macos

    【讨论】:

    • 感谢您的回答,但我认为这里并非如此: vscode: xxxx@MacBookAir ~ % ps -p $$ PID TTY TIME CMD 2174 ttys001 0:00.14 /bin/zsh -l 似乎所有提到的集成终端都使用 zsh。
    • 这个问题似乎是 MacOS 的通用问题。请尝试一次:- stackoverflow.com/questions/61993253/…
    猜你喜欢
    • 2016-01-10
    • 2013-07-17
    • 1970-01-01
    • 2021-07-06
    • 2014-05-06
    • 2016-02-28
    • 2020-09-10
    • 2020-08-14
    • 2021-10-05
    相关资源
    最近更新 更多