How to resolve `unmet dependencies, Depends: nodejs but it is not going to be installed` npm

爲了安裝Node-Red,將ubuntu 18.04 的node.js v8 升到 node.js v10

[Supported Node versions https://nodered.org/docs/faq/node-versions]

1. 安裝 node.js v10

sudo apt install curl
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install nodejs

2. 安裝npm時遇到的問題

sudo apt-get install -f npm
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 npm : Depends: nodejs but it is not going to be installed
       Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
       Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed
       Depends: node-ansi-color-table but it is not going to be installed
       Depends: node-archy but it is not going to be installed
       Depends: node-block-stream but it is not going to be installed
       Depends: node-fstream (>= 0.1.22) but it is not going to be installed
       Depends: node-fstream-ignore but it is not going to be installed
       Depends: node-github-url-from-git but it is not going to be installed
       Depends: node-glob (>= 3.1.21) but it is not going to be installed
       Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
       Depends: node-inherits but it is not going to be installed
       Depends: node-ini (>= 1.1.0) but it is not going to be installed
       Depends: node-lockfile but it is not going to be installed
       Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
       Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
       Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
       Depends: node-gyp (>= 0.10.9) but it is not going to be installed
       Depends: node-nopt (>= 3.0.1) but it is not going to be installed
       Depends: node-npmlog but it is not going to be installed
       Depends: node-once but it is not going to be installed
       Depends: node-osenv but it is not going to be installed
       Depends: node-read but it is not going to be installed
       Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
       Depends: node-request (>= 2.25.0) but it is not going to be installed
       Depends: node-retry but it is not going to be installed
       Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
       Depends: node-semver (>= 2.1.0) but it is not going to be installed
       Depends: node-sha but it is not going to be installed
       Depends: node-slide but it is not going to be installed
       Depends: node-tar (>= 0.1.18) but it is not going to be installed
       Depends: node-underscore but it is not going to be installed
       Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

解決方案:

sudo apt-get install aptitude
sudo aptitude install npm
The following NEW packages will be installed:
  gyp{a} javascript-common{a} libjs-async{a} libjs-inherits{a} libjs-jquery{a} libjs-node-uuid{a}
  libjs-underscore{a} node-abbrev{a} node-ansi{a} node-ansi-color-table{a} node-archy{a} node-async{a}
  node-balanced-match{a} node-block-stream{a} node-brace-expansion{a} node-builtin-modules{a}
  node-combined-stream{a} node-concat-map{a} node-cookie-jar{a} node-delayed-stream{a} node-forever-agent{a}
  node-form-data{a} node-fs.realpath{a} node-fstream{a} node-fstream-ignore{a} node-github-url-from-git{a}
  node-glob{a} node-graceful-fs{a} node-gyp{a} node-hosted-git-info{a} node-inflight{a} node-inherits{a}
  node-ini{a} node-is-builtin-module{a} node-isexe{a} node-json-stringify-safe{a} node-lockfile{a}
  node-lru-cache{a} node-mime{a} node-minimatch{a} node-mkdirp{a} node-mute-stream{a} node-node-uuid{a}
  node-nopt{a} node-normalize-package-data{a} node-npmlog{a} node-once{a} node-osenv{a} node-path-is-absolute{a}
  node-pseudomap{a} node-qs{a} node-read{a} node-read-package-json{a} node-request{a} node-retry{a} node-rimraf{a}
  node-semver{a} node-sha{a} node-slide{a} node-spdx-correct{a} node-spdx-expression-parse{a}
  node-spdx-license-ids{a} node-tar{a} node-tunnel-agent{a} node-underscore{a} node-validate-npm-package-license{a}
  node-which{a} node-wrappy{a} node-yallist{a} npm
0 packages upgraded, 70 newly installed, 0 to remove and 335 not upgraded.
Need to get 2536 kB of archives. After unpacking 15.2 MB will be used.
The following packages have unmet dependencies:
 nodejs : Conflicts: npm but 3.5.2-0ubuntu4 is to be installed
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     npm [Not Installed]



Accept this solution? [Y/n/q/?] Y
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 335 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
 npm -v
6.14.4

3. 參考文獻

https://stackoverflow.com/questions/26571326/how-do-i-resolve-the-following-packages-have-unmet-dependencies

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章