Không thể cài đặt npm - Không thể khắc phục sự cố, bạn đã giữ các gói bị hỏng?


27

Tôi đang cố gắng nâng cấp nodejs của mình lên 7.6 nhưng không thành công. Bây giờ tôi có một vấn đề mới sau khi cài đặt lại nút 6.10:

$ sudo apt-get purge nodejs npm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'npm' is not installed, so not removed
The following packages were automatically installed and are no longer required:
  linux-headers-4.8.0-40 linux-headers-4.8.0-40-generic linux-image-4.8.0-40-generic linux-image-extra-4.8.0-40-generic
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED
  nodejs*
0 to upgrade, 0 to newly install, 1 to remove and 53 not to upgrade.
After this operation, 51.7 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 278133 files and directories currently installed.)
Removing nodejs (6.9.5-1nodesource1~yakkety1) ...
Processing triggers for man-db (2.7.5-1) ...
(Reading database ... 274476 files and directories currently installed.)
Removing nodejs (6.9.5-1nodesource1~yakkety1) ...
Purging configuration files for nodejs (6.9.5-1nodesource1~yakkety1) ...
dpkg: warning: while removing nodejs, directory '/usr/lib/node_modules' not empty so not removed

Tại sao nó nói Package 'npm' is not installed, so not removed? tôi đã sử dụng npm để cài đặt nhiều gói nút cho các dự án của mình !!

Tôi bỏ qua lỗi và tiếp tục cài đặt nút 7.6:

$ curl -sL https://deb.nodesource.com/setup_7.6 | sudo -E bash - 
bash: line 1: html: No such file or directory
bash: line 2: syntax error near unexpected token `<'
'ash: line 2: `<head><title>404 Not Found</title></head>

Vì vậy, tôi đã rơi trở lại nút 6.x. Nhưng tôi không thể cài đặt npm nữa:

$ sudo apt-get install 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.

Có ý kiến ​​gì không?


2
vui lòng thử cái này sudo apt install -f, sau đó thử cài đặt lại!
George Udosen

Câu trả lời:


41

Tôi gặp vấn đề tương tự với npm và phải cài đặt các gói sau theo thứ tự:

sudo apt install libssl1.0-dev
sudo apt install nodejs-dev
sudo apt install node-gyp
sudo apt install npm

Hi vọng điêu nay co ich


1
Tôi đã vật lộn với điều này trong một vài giờ và điều này làm việc như một cơ duyên. Cảm ơn bạn!
desveladisimo

(Trên Kubfox 18.04) Trước đây tôi đã cài đặt libssl-dev, hóa ra tương ứng với libssl1.1, nhưng rõ ràng npm yêu cầu 1.0. Tôi đã phải loại bỏ libssl-dev và thay thế nó bằng libssl1.0-dev, và mọi thứ sau đó hoạt động tốt. Các lỗi apt không hữu ích trong việc xác định những gì sai, vì vậy câu trả lời của bạn là một trình cứu sinh.
Richard Hussong

Vâng! Cảm ơn bạn! (Ubuntu 18.04.3 LTS)
Toni Homedes i Saun

Cảm ơn rất nhiều, nó giúp ích cho tôi
Muthusamy

34

Tôi đã có cùng một vấn đề với npm.

Tôi khuyên bạn nên cài đặt năng khiếu có thể giúp bạn giải quyết xung đột

sudo apt install aptitude

sau đó cài đặt gói của bạn với khả năng

sudo aptitude install npm

1
Giải pháp tốt nhất phải thử nếu bạn gặp lỗi phụ thuộc chưa được đáp ứng
Rj_Innocent_Coder

Thực sự tuyệt vời để có điều này. Điều này đã giải quyết vấn đề
Jerrychayan

Tôi đã có một vấn đề phụ thuộc. Chỉ có giải pháp tôi có thể tìm thấy. Cảm ơn bạn.
karjedavpalaa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.