“ พยายามเขียนทับ '/usr/share/man/man1/node.1.gz' ซึ่งอยู่ในแพ็คเกจ nodejs-legacy 0.10.25 ~ dfsg2-2ubuntu1”


9

ฉันพยายามติดตั้ง nodejs แต่มันล้มเหลวซ้ำ ๆ สิ่งที่แนบมาคือบันทึก

$ 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)

คุณสามารถวิ่งsudo apt-get updateและsudo apt-get upgrade?
ชาร์ลส์กรีน

@ CharlesGreen ฉันสามารถทำให้มันทำงานได้ ฉันตอบคำถามตัวเองแล้ว
Shash

คำตอบ:


10

อาจแก้ไขการติดตั้ง

ชาร์ลส์กล่าวว่าในความคิดเห็นที่ฉันจะพยายามที่จะเรียกใช้และsudo apt-get update sudo apt-get upgradeคุณอาจต้องการเรียกใช้sudo apt-get autoremoveเพื่อลบแพ็คเกจที่คุณไม่ต้องการอีกต่อไป

ข้อผิดพลาดกล่าวถึงnodejs-legacyแพคเกจ หากคุณเคยติดตั้งแล้วคุณอาจต้องการลบมัน

วิธีที่ดีกว่าในการติดตั้งโหนดบน Ubuntu

จนกว่าคุณจะได้วางแผนในการใช้คอมพิวเตอร์ของคุณเป็นเซิร์ฟเวอร์ผลิตผมขออยากแนะนำให้ติดตั้ง Node.js ใช้เครื่องมือ NVM การติดตั้งจากที่เก็บต้องให้คุณใช้sudoซึ่งจะทำให้เกิดการอนุญาตให้ยุ่งเมื่อคุณพยายามติดตั้งโมดูล Nodeโดยใช้ NPM

เป็นโบนัส NVM ช่วยให้คุณติดตั้ง Node หลายเวอร์ชันและช่วยให้คุณเก็บ Node ของคุณเป็นปัจจุบันอยู่เสมอแม้ว่าที่เก็บข้อมูลอย่างเป็นทางการจะอยู่ด้านหลัง

รับ NVM ล่าสุด

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

บอกเชลล์ให้ใช้ nvm

source ~/.nvm/nvm.sh

จากนั้นติดตั้งเวอร์ชันโหนด

nvm install 0.10

และบอก nvm ว่าคุณต้องการใช้โหนดรุ่นใด

nvm use 0.10

1
ขอบคุณสำหรับสิ่งนี้. การบอกฉันเกี่ยวกับ nvm ช่วยฉันได้จริงๆ ฉันเบื่อการต่อสู้ด้วยการอนุญาต
Chev

นอกจากนี้คุณยังสามารถแก้ไขปัญหาการอนุญาตโดยการปรับปรุงเส้นทางคำนำหน้าใน ~ / .npmrc เพื่อให้คุณชี้ไปที่ dir บ้านของคุณ
รวย remer

8

สิ่งหนึ่งที่ฉันได้พลาดคือการล้างการติดตั้งก่อนหน้านี้และติดตั้งใหม่ ฉันใช้คำสั่งต่อไปนี้เพื่อลบการติดตั้งก่อนหน้า

sudo apt-get purge nodejs-legacy nodejs

และ

sudo apt-get install nodejs

เพื่อติดตั้ง nodejs ใหม่

การเชื่อมโยงคำตอบ SO ซึ่งช่วยฉันได้


อาคุณคิดออกมาก่อนที่ฉันจะพิมพ์เสร็จ! :) ฉันยังคงแนะนำให้ดูเป็น NVM ดังนั้นคุณสามารถหลีกเลี่ยงการทำsudo npm installทุกครั้งที่คุณต้องการติดตั้งโมดูลด้วย npm
Michael Martin-Smucker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.