nút & nodejs có phiên bản khác nhau


15

Tôi cập nhật / cài đặt thành công phiên bản mới nhất của nút js bằng cách sử dụng các lệnh đó ( curlcách chính thức không hoạt động đối với tôi):

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node

Tuy nhiên, phiên bản của nút và nút của tôi trở nên khác nhau:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

Có vẻ như nút mới được cài đặt /usr/local/bin/node, vì vậy tôi đã thử:

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

Nhưng nó trả về:

ln: failed to create symbolic link ‘/usr/local/bin/node’: File exists

Tôi cũng sử dụng liên kết này:

$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists

Tôi sẽ sử dụng một số khung phụ thuộc vào node, như Ionic. Phiên bản nút nào nó sẽ sử dụng?

Tôi nên làm gì để giải quyết điều này?

Cảm ơn sự giúp đỡ của bạn


Câu hỏi thực sự là, làm thế nào để tôi bảo n ghi đè lên bất kỳ phiên bản nút hiện có nào và liên kết tượng trưng cả nodejsnodeđến nhị phân được cài đặt bởi n. Và nếu n không có khả năng làm như vậy, trạng thái của phương pháp nghệ thuật là gì? Trong một môi trường làm việc, nó rất dễ bị lỗi, nếu nodejs và nút địa chỉ các phiên bản nodejs khác nhau.
atripes

Câu trả lời:


13

Các bước giải quyết vấn đề tương tự cho tôi:

sudo apt-get remove nodejs
sudo ln -s /usr/bin/node /usr/bin/nodejs

Giải trình

Bạn đã cài đặt hai phiên bản của nodejs trên máy tính của mình, vì vậy bạn cần xóa một trong số chúng. Hoàn cảnh của bạn:

node v5.0.0 - you will keep this one
nodejs v0.10.25 - this you can remove

Bạn có thể loại bỏ nodejsgói thông qua apt-get removelệnh. Điều này cũng sẽ xóa tệp /usr/bin/nodejsvà bạn sẽ không nhận được thông báo lỗi của mình nữa.

Bây giờ bạn có thể tạo một liên kết tượng trưng được gọi là "/ usr / bin / nodejs", điểm đó trên nguồn "/ usr / local / bin / node". Trong ví dụ của bạn, bạn có thứ tự sai các đường dẫn "từ" và "đến"

sudo ln -s source_file myfile

Thông tin thêm về tạo liên kết: Cách liên kết tượng trưng hoạt động


5

Lỗi:

ln: failed to create symbolic link ‘/usr/bin/node’: File exists

thường được gây ra khi bạn thực sự có hai phiên bản của Nodejs, một với bí danh của cái kia nodevà cái kia với nodejsbí danh, như chúng ta có thể thấy trên kết quả của các lệnh node --versionnodejs --version:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

vì vậy bạn không thể tạo một liên kết tượng trưng cho một tệp đã tồn tại.

Để giải quyết vấn đề này, bạn cần loại bỏ hoàn toàn hai gói bằng cách sử dụng:

sudo apt-get purge node
sudo apt-get purge nodejs
sudo rm -rf bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node

và chỉ cài đặt lại nodejsgói bằng lệnh:

sudo apt-get install nodejs

và tạo một liên kết tượng trưng bằng cách sử dụng:

ln -s /usr/bin/nodejs /usr/bin/node

hoặc cài đặt nodejs-legacysẽ giải quyết vấn đề này bằng lệnh:

sudo apt-get install nodejs-legacy 

cảm ơn rất nhiều, bạn đã thêm thông tin, tôi đã tự mình giải quyết vấn đề. Tôi ủng hộ.
vào

0

Đối với tôi nodelệnh là NodeJS được cài đặt bởi nvmnodejslệnh là NodeJS được cài đặt bằng cách sử dụngapt-get

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.