Tôi đã gặp sự cố này một tháng trước. Tôi cũng không thể hiểu tại sao một phiên bản Ubuntu vẫn được hỗ trợ tích cực lại bao gồm các phiên bản Node và npm không được hỗ trợ. Cuối cùng, tôi nhận ra rằng cùng với việc muốn cài đặt nhiều phiên bản đồng thời (ví dụ:LTS không thực sự chỉ định một phiên bản duy nhất - v16 là "LTS đang hoạt động" và cả v14 và v12 hiện là "LTS bảo trì" và v16 đi kèm với một phiên bản npm sử dụng một lockfileVersion khác với phiên bản sẽ được sử dụng bởi những người đã cài đặt một phiên bản LTS Node hơn một vài tuần trước). Tôi cảm thấy thoải mái hơn khi cài đặt hàng nghìn phụ thuộc bằng npm không có đặc quyền siêu người dùng.
Vì bạn cảm thấy rằng bạn đã xem toàn bộ trang web trước khi đến đây, nên bạn có thể thấy trang tải xuống Node cũng được đề cập trong các nhận xét, nhưng (giống như tôi) không muốn kiểm tra cập nhật bảo mật theo cách thủ công hoặc tiếp tục sử dụng phiên bản không an toàn sau khi chúng được phát hành. Node làm tài liệu về cách thực hiện việc này trong một trang được đề cập từ cuối trang Tải xuống. Bạn có thể hoặc không thể tìm thấy hướng dẫn cài npm, điều này một phần không đồng ý với các hướng dẫn của Node mặc dù rất khó sử dụng cái này mà không có cái kia.
Nếu bạn thích Snaps sau đó bạn có thể sử dụng chúng. Vì nó là tùy chọn duy nhất được liệt kê riêng cho Ubuntu nên tôi đã bắt đầu với tùy chọn này, nhưng tôi không thích cách cài đặt các snaps dưới dạng các giá đỡ riêng biệt và làm lộn xộn đầu ra df của tôi. Tôi nghĩ rằng tôi đã bỏ cuộc khi cần so sánh các phiên bản khác nhau và nvm lại được đề xuất.
N
cũng được đề cập trong trang quản lý gói nhưng tôi không thích vòng quay cần cài đặt một phiên bản npm khác để cài đặt trình quản lý phiên bản sẽ cài đặt phiên bản mà tôi muốn.
Như đã được đề xuất trong câu trả lời khác, cuối cùng tôi đã sử dụng nvm
. Nó tải xuống và chọn giữa các phiên bản nút khác nhau cho bạn và có các tùy chọn để nâng cấp npm lên phiên bản mới hơn so với các phiên bản có Node. Nó biết phiên bản LTS nào và cho phép bạn phân biệt chúng bằng tên mã hoặc số phiên bản. Tuy nhiên, đó là tập lệnh shell sẽ khiến mọi thứ trở nên khó khăn hơn nếu bạn đang sử dụng shell không phải POSIX. Nó không có gói Ubuntu hoặc Debian, nhưng họ có hướng dẫn cho một cài đặt git mà làm cho nó dễ dàng hơn để nâng cấp.
Bạn phàn nàn rằng đúng cách
phiên bản Node vẫn được cài đặt khi sử dụng N
. Đây có thể là một vấn đề nếu bạn cài đặt thứ gì đó khác bằng cách sử dụng apt phụ thuộc vào Node/npm, phiên bản này có thể tìm thấy "phiên bản hệ thống" thay vì phiên bản mới hơn được cài đặt bằng cách sử dụng N
. Đến từ thế giới Python, đây là lý do tại sao tôi chưa bao giờ cài đặt píp
sử dụng đúng cách
: Tôi sẽ tạo môi trường ảo và sử dụng pip từ bên trong chúng. Nếu tôi từng cố gắng cài đặt pip
thứ gì đó bên ngoài môi trường ảo thì nó bị lỗi vì không có hệ thống píp
để cài đặt với. tôi sử dụng đúng cách
để cài đặt các phiên bản Python khác nhau và nhận pip từ chúng.