Cố gắng ghi đè '/usr/share/man/man1/node.1.gz', cũng nằm trong gói nodejs-legacy 0.10.25 ~ dfsg2-2ub Ubuntu1 tựa


9

Tôi đang cố gắng cài đặt nodejs nhưng nó liên tục bị lỗi. Kèm theo là nhật ký

$ sudo apt-get install nodejs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libc-ares2 libv8-3.14.5
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  rlwrap
The following NEW packages will be installed:
  rlwrap
The following packages will be upgraded:
  nodejs
1 upgraded, 1 newly installed, 0 to remove and 11 not upgraded.
Need to get 0 B/4,391 kB of archives.
After this operation, 14.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package rlwrap.
(Reading database ... 263979 files and directories currently installed.)
Preparing to unpack .../rlwrap_0.37-5_amd64.deb ...
Unpacking rlwrap (0.37-5) ...
Selecting previously unselected package nodejs.
Preparing to unpack .../nodejs_0.10.31-1chl1~trusty1_amd64.deb ...
Unpacking nodejs (0.10.31-1chl1~trusty1) over (0.10.25~dfsg2-2ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_0.10.31-1chl1~trusty1_amd64.deb (--unpack):
 trying to overwrite '/usr/share/man/man1/node.1.gz', which is also in package nodejs-legacy 0.10.25~dfsg2-2ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/nodejs_0.10.31-1chl1~trusty1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

bạn có thể chạy sudo apt-get updatesudo apt-get upgrade?
Charles Green

@CharlesGreen Tôi có thể làm cho nó hoạt động. Tôi đã tự trả lời câu hỏi của mình.
Shash

Câu trả lời:


10

Có khả năng sửa chữa cài đặt

Như Charles đã nói trong các bình luận, tôi sẽ cố gắng chạy sudo apt-get updatesudo apt-get upgrade. Bạn cũng có thể muốn chạy sudo apt-get autoremoveđể loại bỏ các gói mà bạn không còn cần nữa.

Lỗi đề cập đến nodejs-legacygói. Nếu bạn đã từng cài đặt nó, bạn có thể muốn loại bỏ nó.

Cách tốt hơn để cài đặt Node trên Ubuntu

Trừ khi bạn có kế hoạch sử dụng máy tính của mình làm máy chủ sản xuất, tôi khuyên bạn nên cài đặt Node.js bằng công cụ NVM . Cài đặt từ kho lưu trữ yêu cầu bạn sử dụng sudo, điều này dẫn đến các quyền lộn xộn khi bạn cố gắng cài đặt các mô-đun Node bằng NPM.

Như một phần thưởng, NVM cho phép bạn cài đặt nhiều phiên bản của Node và nó cho phép bạn giữ bản sao của Node được cập nhật, ngay cả khi các kho chính thức bị chậm lại.

Lấy bản sao mới nhất của NVM

curl https://raw.githubusercontent.com/creationix/nvm/v0.15.0/install.sh | bash

Nói với vỏ của bạn để sử dụng nvm

source ~/.nvm/nvm.sh

Sau đó cài đặt một phiên bản nút

nvm install 0.10

Và cho nvm biết phiên bản Node nào bạn muốn sử dụng

nvm use 0.10

1
Cảm ơn vì điều này. Nói với tôi về nvm thực sự đã giúp tôi ra ngoài. Tôi đã quá mệt mỏi khi phải chiến đấu với sự cho phép.
Chev

Bạn cũng có thể giải quyết các vấn đề về quyền bằng cách cập nhật đường dẫn tiền tố của bạn trong ~ / .npmrc để bạn chỉ vào thư mục nhà của mình.
người làm giàu giàu 20/12/2015

8

Một điều mà tôi đã bỏ lỡ là thanh lọc cài đặt trước đó và cài đặt lại. Tôi đã sử dụng lệnh sau để loại bỏ cài đặt trước đó

sudo apt-get purge nodejs-legacy nodejs

sudo apt-get install nodejs

để cài đặt lại nodejs.

Liên kết câu trả lời SO giúp tôi


Ah, bạn đã tìm ra nó trước khi tôi gõ xong! :) Tuy nhiên, tôi vẫn khuyên bạn nên xem xét NVM, vì vậy bạn có thể tránh thực hiện sudo npm installmỗi khi bạn muốn cài đặt các mô-đun với npm.
Michael Martin-Smucker
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.