正在升级全局 Angular cli 版本?

Upgrading global Angular cli version?

当我通过 npm 查询@angular/cli 版本时,它告诉我它是

版本
npm list -g --depth=0 @angular/cli
>>> @angular/cli@8.3.21

但是当我通过ng --version查询时,它告诉我它是8.0.0-beta.11。我不在本地 angular 项目中。我不知道如何彻底升级我的全局 ng。建议?

编辑:这是评论中要求的一些额外信息:

sw_vers -productVersion # Show Mac OSX version
>>> 10.15.2

which -a ng
>>> /Users/magnus/.nvm/versions/node/v10.16.3/bin/ng
>>> /usr/local/bin/ng

/Users/magnus/.nvm/versions/node/v10.16.3/bin/ng --version
>>> ... Angular CLI: 8.0.0-beta.11 ...

/usr/local/bin/ng --version
>>> ... Angular CLI: 8.0.0-beta.11 ...
realpath /usr/local/bin/ng
>>> /usr/local/lib/node_modules/@angular/cli/bin/ng

cat ~/.npmrc
>>> ignore-scripts=false

我通过 nvm 安装 npm 的目的是只使用那个版本。不确定为什么我在 /usr/local/bin 中看到一个 ng 可执行文件;我很确定我不会尝试通过自制软件安装它。

好的,在我的情况下,问题是我在 Mac 上安装了两个 npm(一个通过自制程序,一个通过 nvm)。尽管 npm 的 nvm 安装在我的 $PATH 中具有优先权,但获得优先权的 ng 版本是通过 npm 的自制软件安装安装的版本。因此,我使用 npm 的 nvm 安装对 update/reinstall/etc angular 客户端所做的任何努力都对 npm 的自制安装安装的 cli 版本没有影响。 (即使我使用 npm 的 nvm 版本安装的 ng 的完整路径,它最终总是以某种方式链接到 npm 的自制安装安装的 ng 版本。)

我的解决方案是摆脱 npm 及其所有软件包的自制安装。这里的关键是首先使用 npm 的 homebrew 安装的完整路径删除所有全局包(例如 /usr/local/bin/npm remove -g @angular/cli),然后删除 npm 本身的 homebrew 安装(brew remove npm)。

现在我的路径中只有 npm 的 nvm 安装,我可以使用 npm install -g @angular/cli@next.

获取 angular cli 的最新全局安装