为什么安装版本 7 后 Angular CLI 版本显示为 1?

con*_*xyz 1 angular-cli angular

我正在尝试将我的 Angular CLI 全球版本更新到最新版本。

为什么ng v安装后还是不显示1.3.2版本?

我正在使用nvm顺便说一句。


安装前...

$ng -v
    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / ? \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/
@angular/cli: 1.3.2
node: 10.14.1
os: darwin x64
Run Code Online (Sandbox Code Playgroud)

正在安装...

npm uninstall -g angular-cli
npm cache verify
npm install -g @angular/cli@latest

/Users/U6020643/.nvm/versions/node/v10.14.1/bin/ng -> /Users/U6020643/.nvm/versions/node/v10.14.1/lib/node_modules/@angular/cli/bin/ng

> fsevents@1.2.4 install /home/.nvm/versions/node/v10.14.1/lib/node_modules/@angular/cli/node_modules/fsevents
> node install

[fsevents] Success: "/home/.nvm/versions/node/v10.14.1/lib/node_modules/@angular/cli/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
+ @angular/cli@7.1.1
Run Code Online (Sandbox Code Playgroud)

安装后....

$ ng -v
    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / ? \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/
@angular/cli: 1.3.2  <-- why isn't this 7.1.1?
node: 10.14.1
os: darwin x64
Run Code Online (Sandbox Code Playgroud)

con*_*xyz 5

Alright so this is how I appear to have fixed this issue. Again I'm on OS X (Sierra), with Node installed via nvm. Credit to Cannot uninstall angular-cli for a lead.


Locate Angular CLI install

which ng
/<home>/.nvm/versions/node/v10.14.1/bin/ng
Run Code Online (Sandbox Code Playgroud)

NVM managed version is linked

ls -l /<home>/.nvm/versions/node/v10.14.1/bin/ng
lrwxr-xr-x  1 <user>  staff  39 Dec  3 20:25 /<home>/.nvm/versions/node/v10.14.1/bin/ng -> ../lib/node_modules/@angular/cli/bin/ng
Run Code Online (Sandbox Code Playgroud)

Remove

rm -rf /<home>/.nvm/versions/node/v10.14.1/bin/ng
rm -rf ../lib/node_modules/@angular/cli/bin/ng
Run Code Online (Sandbox Code Playgroud)

Check (wait there's another install)

which ng
/usr/local/bin/ng
Run Code Online (Sandbox Code Playgroud)

Remove this last one

rm -rf /usr/local/bin/ng
which ng
<blank>
Run Code Online (Sandbox Code Playgroud)

Now reinstall ng

npm install -g @angular/cli@latest
ng
-bash: ng: command not found
Run Code Online (Sandbox Code Playgroud)

Switch node versions using nvm

nvm use 8 # This just happens to be another version I had installed
Run Code Online (Sandbox Code Playgroud)

Switch back the problematic version

nvm use 10
Now using node v10.14.1 (npm v6.4.1)
Run Code Online (Sandbox Code Playgroud)

Voila

ng v

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / ? \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/


Angular CLI: 7.1.1
Node: 10.14.1
OS: darwin x64
Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.11.1
@angular-devkit/core         7.1.1
@angular-devkit/schematics   7.1.1
@schematics/angular          7.1.1
@schematics/update           0.11.1
rxjs                         6.3.3
typescript                   3.1.6
Run Code Online (Sandbox Code Playgroud)