Làm cách nào để kiểm tra phiên bản v8 nào được cài đặt với NodeJS của tôi?


140

V8 được cài đặt cùng với NodeJ như thế nào? Phiên bản nào là động cơ V8 hiện tại của tôi?

Câu trả lời:


119

Cách dễ dàng:
Nhập dòng lệnh:node -p process.versions.v8

Cách làm việc chăm chỉ:

  1. Nhập node --versionđể có phiên bản Node.js.

  2. Tới Node.js ghi thay đổi .

  3. Tìm và mở nhật ký thay đổi phiên bản Node.js thích hợp.

  4. Hãy tìm ghi chú có chứa V8 to.


100
hoặc, bạn chỉ có thể hỏi nút phiên bản nào được cài đặt thông qua process.versions. Dễ dàng hơn một chút so với săn bắn thông qua nhật ký thay đổi. node -e 'console.log(process.versions.v8);'
Ben Taber

Khi tôi gõ vào "nút - đảo ngược", tôi không gặp lỗi nhưng tôi cũng không nhận được bất kỳ thông tin nào ... chỉ hiển thị lại lời nhắc. Bất cứ ý tưởng tại sao?
địa lý

Liên kết không còn được cập nhật và như Ben Taber đã chỉ ra nhiều năm trước, rất may có một cách trực tiếp, đơn giản hơn nhiều .
TJ Crowder

290

Giải pháp một dòng:
node -p process.versions.v8

Giải pháp thay thế:
node -e "console.log(process.versions.v8)"


2
Đã đồng ý. Đây cũng là câu trả lời duy nhất hoạt động trong Windows. Tất cả các câu trả lời trích dẫn không làm gì lạ cả ...
Marc

37
node -p process.versions.v8ngắn hơn một chút Không phải là vấn đề, nhưng có lẽ ai đó quan tâm.
slikts

62

Chỉ cần chạy npm version(không biết khi nào có sẵn)

> npm version
{ http_parser: '1.0',
  node: '0.10.35',
  v8: '3.14.5.9',
  ares: '1.9.0-DEV',
  uv: '0.10.30',
  zlib: '1.2.8',
  modules: '11',
  openssl: '1.0.1j',
  npm: '1.4.28',
  xsjs: '0.1.5' }

1
Câu trả lời tốt nhất để biết. Ngoài ra, CLI của NPM là một whackadoo-- nếu bạn thêm một đối số vào điều này, nó sẽ tăng phiên bản trong tệp pack.json của bạn, tạo và gắn thẻ một cam kết git. Hoàn toàn kỳ lạ UX, nhưng điều này là hữu ích.
mitchell_st

của bạn là câu trả lời hay nhất cho câu hỏi này ... Thật không may, tôi chỉ có thể bỏ phiếu một lần .. Cảm ơn
Daksh

31

Để kiểm tra phiên bản của bạn, hãy kiểm tra giá trị trong process.versionsREPL.

node -e "console.log(process.versions.v8);"

Ngoài ra, bạn có thể biên dịch nút với các phiên bản V8 khác nếu bạn muốn. Rõ ràng kết quả có thể khác nhau ở đây tùy thuộc vào phiên bản bạn chọn.

cd node-v0.x.x
rm -rf deps/v8
git clone http://github.com/v8/v8.git deps/v8

./configure
make
make install

1
+1, tôi đã phải sử dụng node -e console.log(process.versions.v8)mặc dù; không có gì được xuất ra khác.
pimvdb

Có vẻ như điều đó đã thay đổi trong nút tại một số điểm, cảm ơn vì tiền boa. Chỉnh sửa các phản ứng để phản ánh điều đó.
Ben Taber

13

Bạn chỉ có thể gõ:

node -p process.versions.v8


9

Để giải trí, nếu bạn có sẵn curl trong thiết bị đầu cuối của mình, những điều sau đây sẽ cung cấp cho bạn phiên bản của v8:

V=`cat /usr/include/node/node_version.h | grep -E '^\#define NODE_(MAJOR|MINOR|PATCH)_VERSION' | sed -e 's/^[^0-9]*//'`; V=`echo $V | sed -e 's/ /\./g'`; URL=https://github.com/joyent/node/raw/v$V/ChangeLog; curl --silent $URL | grep 'Upgrade v8' | head -1 | sed -e 's/^.* //'; unset V; unset URL

Ví dụ: trong hộp của tôi có node.js 0.4.7 tôi nhận được:

3.1.8.10

:)


3
Thật thú vị khi định nghĩa của niềm vui có thể thay đổi từ cá nhân này sang cá nhân khác :)
Arnaud Leyder

9

tìm phiên bản v8 đã cài đặt với nút.

$ node
> process.versions.v8
'5.1.281.83'
>

trong đó Đối tượng tiến trình là toàn cầu cung cấp thông tin về và kiểm soát quá trình Node.js hiện tại.

nếu bạn chỉ cần gõ process trong nút thay thế, bạn sẽ thấy thông tin về nút (tức là phiên bản nút, phiên bản v8, nền tảng, thông tin biến env, v.v.)


9

Nếu bạn đang sử dụng Node.js phiên bản 7.7.3 hoặc tương tự, lệnh là

$ node -p "process.versions"

Nhưng những người ở trên làm việc tốt quá.


8
node -pe 'this.process.versions'     # all versions
node -pe 'this.process.versions.v8'  # v8 version

2
Một câu trả lời hay sẽ luôn có lời giải thích về những gì đang được thực hiện và tại sao nó được thực hiện theo cách đó, không chỉ cho OP mà còn cho những khách truy cập tương lai đến SO.
Jay Blanchard

Downvote, bởi vì nó không thêm gì quan trọng cho câu trả lời được đánh giá cao nhất trong câu hỏi này, đã được đăng 3 năm trước.
Quản trị viên của Yaroslav

4
Làm thế nào là điều này không thêm bất cứ điều gì quan trọng? Nó thêm chính xác, được đề xuất bởi nút, cách để tìm ra phiên bản nào được sử dụng. nodejs.org/en/docs/es6/ Mạnh
Philiiiiiipp 6/2/2016

4

Các câu trả lời khác là tuyệt vời để kiểm tra phiên bản hiện tại của bạn. Cũng có một bảng với tất cả các phiên bản Node.js tại đây: https://nodejs.org/en/doad/release/ . Trích dẫn ví dụ:

Version             Date        V8          npm     NODE_MODULE_VERSION
Node.js 11.0.0      2018-10-23  7.0.276.28  6.4.1   67
Node.js 10.13.0     2018-10-30  6.8.275.32  6.4.1   64
Node.js 10.12.0     2018-10-10  6.8.275.32  6.4.1   64

0

Bạn cũng có thể kiểm tra bất kỳ phiên bản nodejs v8 nào bằng docker, như nút 10.7.0: docker run --rm -it node:10.7.0 bash -c "node -p process.versions"


0

v8 được gói cùng với Node.js. Bạn có thể xem phiên bản nào của v8 mà bất kỳ phiên bản Node.js nào đang sử dụng và khi nào nó được đưa vào sản xuất bằng cách xem v8 ChangeLogtừ nodekho lưu trữ. Đây là chủ hiện tại (nếu xây dựng từ nguồn): https://github.com/nodejs/node/commits/master/deps/v8/ChangeLog

Để xem phiên bản cụ thể của Node.js, hãy chuyển nhánh sang phiên bản đó và kiểm tra ChangeLoglịch sử tệp s.

Node.js thay đổi lịch sử nhật ký

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.