Используя nvm и узел 12.16.3, я пытаюсь обновить приложение angular до angular 9. Но это не удается, потому что одна из зависимостей требует npm> = 6.11.0:
npm ERR! notsup Unsupported engine for @angular-devkit/build-angular@0.901.12: wanted: {"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"} (current: {"node":"12.16.3","npm":"6.5.0"})
Я не могу запустить ng
напрямую, потому что я постоянно переключаюсь между кодовыми базами с очень разными версиями узлов. Итак, я запускаю команду ng update --force @angular/core@9 @angular/cli@9
с npx
.
Даже если я npm i -g npm
, npx
использует устаревшую npm
версию:
$ npx npm --version
6.5.0
$ npm --version
6.14.7
Не вызывает возражений, это не обновляет npx npm
:
$ npx npm i -g npm
/home/user/.nvm/versions/node/v12.16.3/bin/npm -> /home/user/.nvm/versions/node/v12.16.3/lib/node_modules/npm/bin/npm-cli.js
/home/user/.nvm/versions/node/v12.16.3/bin/npx -> /home/user/.nvm/versions/node/v12.16.3/lib/node_modules/npm/bin/npx-cli.js
+ npm@6.14.7
updated 1 package in 10.595s
$ npx npm --version
6.5.0
Почему это происходит? Как заставить npx
использовать более свежую версию npm
?