Обновление глобальной Angular Cli версии? - PullRequest
0 голосов
/ 08 января 2020

Когда я запрашиваю версию @ angular / cli через npm, она говорит, что это версия

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

Я установил npm через nvm с намерением использовать только эту версию. Не уверен, почему я вижу исполняемый файл ng в /usr/local/bin; Я почти уверен, что не попытался бы установить его с помощью homebrew.

1 Ответ

0 голосов
/ 14 января 2020

ОК, в моем случае проблема заключалась в том, что у меня было две npm установки на мою Ma c (одна через homebrew и одна через nvm). Несмотря на то, что установка nvm npm имела приоритет в моем $ PATH, версия ng, которая получила приоритет, была той, которая была установлена ​​посредством установки homebrew npm. Поэтому любые попытки обновить / переустановить / et c клиент angular с использованием установки nvm npm никак не влияли на версию cli, установленную установкой homebrew npm. (И даже если бы я использовал полный путь к ng, установленный в версии nvm npm, он каким-то образом в конце концов всегда связывался с версией ng, установленной установкой homebrew npm.)

Мое решение состояло в том, чтобы просто избавиться от доморощенной установки npm и всех ее пакетов. Ключевым моментом здесь является сначала использовать полный путь к установке homebrew npm, чтобы удалить все глобальные пакеты (например, /usr/local/bin/npm remove -g @angular/cli), а затем удалить саму установку homebrew npm (brew remove npm).

Теперь в моем пути есть только установка nvm npm, и я смог получить последнюю глобальную установку angular cli, используя npm install -g @angular/cli@next.

...