Zsh:在新的Mac OS Catalina上找不到命令:ng

11

我已经下载了新的Catalina Mac OS版本的Beta版。现在我应该开始使用Zsh。但是,当我想在Atom中运行一个Angular项目时,我收到了这个消息:"默认交互式shell现在是zsh。 要更新您的帐户以使用zsh,请运行chsh -s /bin/zsh。 有关更多详细信息,请访问https://support.apple.com/kb/HT208050。" 我已经在使用zsh终端,但他找不到ng命令。


2
你是否执行了 npm install -g @angular/cli 命令? - Matt Walterspieler
你是否尝试在 Angular 的 Github 上提出这个问题? - wentjun
@wentjun 我也遇到了同样的问题,我在 Angular 的 Github 上提出了这个问题,但他们将其关闭并将我引导到这里。显然,他们认为这不是一个 bug 哈哈。那边的人真是非常乐于助人啊。https://github.com/angular/angular-cli/issues/15692#event-2667473843 - pixel
和以前一样,Angular的Github是一个无用的地方,不能解决Angular问题。 - pixel
4个回答

17
在将系统升级到Catalina之后,我在切换至zsh后失去了对命令的访问权限。这个解决方法适用于我的情况: source /Users/YOURUSERNAME/.bash_profile 为了使这些更改持久化,我使用了oh-my-zsh(https://github.com/robbyrussell/oh-my-zsh)。
使用curl进行安装: sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 然后修改你的.zshrc文件: vi ~/.zshrc 在这一行下面: source $ZSH/oh-my-zsh.sh 我只需添加文章开头提到的命令即可: source /Users/YOURUSERNAME/.bash_profile 像平常一样使用vi/vim保存文件: :wq Oh-my-zsh还可以做很多酷炫的事情,所以一定要阅读文档。

1
非常感谢,这为我解决了问题。只需要重新启动终端即可。 - pixel
没关系!我很高兴能帮助到你 :) - Dan L
1
如果你在使用 macOS,忘记 vi 吧,只需要输入“open ~/.zshrc”。 - StackUnderflow
True - 应该提到vi对于不熟悉的人来说有点麻烦。 - Dan L

3

要使用Angular CLI,您需要在计算机上安装它。

通过运行以下命令来安装 CLInpm install -g @angular/cli


是的,它已经安装了,但在新版本的Mac之前一切都运行良好。现在我收到了这个错误:您的全局Angular CLI版本(8.0.4)大于本地版本(7.3.9)。使用本地Angular CLI版本。要禁用此警告,请使用“ng set --global warnings.versionMismatch=false”。 - Julianh1805
@Julianh1805 这不是错误,而是警告。这是因为在您的项目package.json文件中指定的angular-cli版本比全局cli版本要旧。如果您想消除它,请将项目的angular版本升级到与cli的全局版本相匹配(在您的情况下是8.0.4)。 - B45i
1
我尝试了卸载、重新安装,甚至都没有项目,所以无法抱怨我的项目中的 Angular 版本比全局 cli 版本旧。我也尝试链接了它,但没有成功。Angular 的 Github 毫无用处,他们只是关闭了它,并引用让在 Stack Overflow 上问。 - pixel
我和你处于同样的情况,我尝试了和你一样的所有方法,但都没有起作用。 - Raphaël Etang-Salé

1

请检查您所使用的Node版本。下载链接在这里 - https://github.com/nvm-sh/nvm

对于我来说,我遇到了与版本8相同的问题。

nvm ls

它应该列出节点版本 - 使用节点版本13 - 对我有用。

 nvm install 13
 npm install -g @angular/cli

应该可以正常工作了。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接