Sự nhầm lẫn số phiên bản NodeJS


153

Tôi đã cài đặt Node JS vài tháng trước và chơi xung quanh một chút. Hôm nay, tôi muốn bắt đầu tìm hiểu thêm về nút và trước khi mã hóa, tôi quyết định tôi muốn đảm bảo rằng tôi có phiên bản mới nhất.

Tôi đã kiểm tra phiên bản và nó giống như v0.10.3x. Tôi đã xem trên trang web NodeJS và nó hiển thị phiên bản mới nhất là v4.1.0. Vì vậy, tôi nghĩ Woahhh! Tôi nâng cấp tốt hơn và tôi không thể tin rằng nó đã chuyển nhanh đến phiên bản 4.x chỉ trong vài tháng.

Tôi đã dành khá nhiều thời gian để cố gắng tìm ra cách gỡ cài đặt hoàn toàn nút và npm vì dường như tôi không thể nâng cấp nó.

Cuối cùng tôi đã nhận được tất cả, tách ra, sau đó cài đặt trên CentOS 7 bằng yum. Tôi biết tôi sẽ không nhận được phiên bản mới nhất thông qua yum nhưng, tôi đoán rằng nó sẽ đủ gần.

Sau khi cài đặt, tôi đang ở v0.10.40.

Tôi có cảm giác tôi không hiểu gì về số phiên bản NodeJS.

Ai đó có thể làm sáng tỏ cho tôi? Cảm ơn trước.


1
Đánh giá cao sự nhầm lẫn, đây là một liên kết đến thông tin loại phát hành của nodejs - github.com/nodejs/node#release-types
arcseldon

3
"Tôi đã dành khá nhiều thời gian để cố gắng tìm ra cách gỡ cài đặt hoàn toàn nút và npm vì dường như tôi không thể nâng cấp nó." - vui lòng xem nvm - github.com/creationix/nvm, điều này giúp việc cài đặt, thay đổi và gỡ cài đặt các phiên bản của nút và npm dễ dàng hơn nhiều.
arcseldon

Câu trả lời:


209

Vâng, nếu bạn chỉ sử dụng thời gian chạy node.js chính thức thì nó sẽ xuất hiện để nhảy từ 0.12.x đến 4.0.0 trong một cú trượt. Những gì bạn có thể không biết là các nhà phát triển nút đã phát bệnh về việc kho lưu trữ nút bị đình trệ đã tạo ra một nhánh của dự án và gọi nó là io.js. Dưới tên io.js, dự án đã tiến lên trong sáu tháng qua hoặc lâu hơn; nó bắt đầu từ v1.x và lặp đi lặp lại suốt 2.x và 3.x trong thời gian đó. Node.js cũ đã sử dụng một hệ thống phiên bản khác trong đó các phiên bản lẻ không ổn định và thậm chí các phiên bản đều ổn định. Io.js chuyển sang sử dụng ngữ nghĩa phiên bản semver như các gói trên npm đã sử dụng.

Sau khi cân nhắc rất nhiều Joyent (người duy trì ban đầu của node.js) cuối cùng đã tham gia và giúp thành lập một ủy ban mở thích hợp xung quanh nút trong nỗ lực thúc đẩy dự án tiến lên theo cách tương tự như io.js đã làm. Một vài tháng trước, họ đã đồng ý hợp nhất io.js trở lại vào node.js (đó là mục tiêu của những người đã tạo io.js ở vị trí đầu tiên). Cuối cùng họ đã hoàn thành việc sáp nhập hai dự án gần đây. Tên io.js không còn nữa và node.js tồn tại bắt đầu từ v4.0. Nó sẽ tiếp tục sử dụng ngữ nghĩa semver như io.js đã làm :)

Đi về phía trước mọi thứ với nút sẽ đơn giản hơn. Tôi rất vui khi thấy dự án đi từ đây.


2
Cảm ơn! Tôi đã nhận thức được những gì đã xảy ra với io.js khi họ khởi động fork, nhưng không phải là một nhà phát triển nút hoạt động, đã bị nhầm lẫn bởi sự phân ly phiên bản khi cố gắng tìm ra những gì tôi đang sử dụng so với những gì có sẵn.
vào

7
Nhưng tại sao vẫn có sự phát triển trong v0.12. * (Tôi thấy bản phát hành v0.12,14 vào ngày 6 tháng 5 năm 2016). Đây có phải là để tương thích ngược?
dùng276648

5
@ user276648 vì 0.12 là phiên bản LTS (Hỗ trợ dài hạn) và họ sẽ tiếp tục phát hành các bản vá quan trọng như sửa lỗi bảo mật, v.v. Bạn sẽ chỉ thấy số bản vá tăng lên. 0.12.x
Chev

3
Đây là thông tin LTS nếu có ai quan tâm. github.com/nodejs/LTS
Chev

1
Có thể bạn có thể gọi nó là một thảm họa trước đây nhưng việc phát hành khá thường xuyên và cấu trúc LTS mới đã rất tốt cho sự an tâm. Mọi thứ hoạt động rất giống với các bản phát hành Ubuntu bây giờ (chỉ cần di chuyển nhanh hơn) và tôi khá hài lòng với nó. Semver có ý nghĩa nhất cho nút.
Chev

4

Đó là bởi vì từ v4.0, dự án Node.js và dự án io.js hiện được kết hợp. Đối với dự án io.js, số phiên bản giống như v3.x, v2.x và v1.x.

Tham khảo https://nodejs.org/en/blog/release/v4.0.0/


2
Giải thích rất kém. Nó giả định OP biết tình huống io / nút và thêm vào chứ không xóa bất kỳ sự nhầm lẫn nào cho người mới.
a20


2

nếu bạn sử dụng npm bạn có thể nâng cấp với

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

Sau khi thực hiện xong hãy thử node -vxem những gì bạn có

xem thêm tại http://davidwalsh.name/upTHER-nodejs


3
Anh ta không hỏi cách nâng cấp, anh ta hỏi về dãy số phiên bản 0.x so với dãy số phiên bản 4.x.
a20

4
Chắc chắn không phải là câu trả lời cho câu hỏi của OP, mà chỉ là những gì tôi đang tìm kiếm!
ngoue

0

Bạn có thể cập nhật nút hoặc npm bằng dòng lệnh. Bạn cần cài đặt phiên bản nút hoặc npm trong máy. Sử dụng lệnh sau trong thiết bị đầu cuối của bạn.

npm install node -g
npm install npm

Bạn cũng có thể cài đặt phiên bản cụ thể của nút, Thích cái này.

npm install node@8.1.3 
npm install npm@4.1.2

Ở đây 8.1.3 là số phiên bản. Sử dụng bất kỳ phiên bản nào bạn muốn cài đặt.

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.