Як перевірити, яка версія v8 встановлена ​​з моїм NodeJS?


140

Як встановлюється V8 разом з NodeJs? Яка версія мого поточного двигуна V8?

Відповіді:


119

Простий спосіб:
введіть командний рядок:node -p process.versions.v8

Тяжкий спосіб праці:

  1. Введіть, node --versionщоб отримати версію Node.js.

  2. Перейти до Node.js списком змін .

  3. Знайдіть і відкрийте відповідний журнал змін версії Node.js.

  4. Шукайте примітки, що містять V8 to.


100
або, ви можете просто запитати вузол, яка версія встановлена ​​через process.versions. Трохи простіше, ніж полювання через журнал змін. node -e 'console.log(process.versions.v8);'
Бен Табер

коли я набираю "node --version", я не отримую помилки, але також не отримую ніякої інформації ... просто знову показує підказку. Будь-яка ідея чому?
геодезичний

Посилання більше не оновлюється, і як зазначив Бен Табер роки тому, на щастя , є набагато більш прямий, прямий шлях .
TJ Crowder

290

Однорядне рішення:
node -p process.versions.v8

Альтернативне рішення:
node -e "console.log(process.versions.v8)"


2
Домовились. Це також єдина відповідь, яка працює в Windows. Всі одинарні лапки відповіді нічого не робити , як не дивно ...
Marc

37
node -p process.versions.v8трохи коротше. Не те, щоб це мало значення, але, можливо, когось хвилює.
slikts

62

Просто запустіть npm version(не знаю, коли це можливо)

> 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
Найкраща відповідь, щоб знати. Крім того, CLI NPM - це whackadoo-- якщо ви додасте аргумент на це, це збільшить версію у вашому файлі package.json, зробить і позначає git commit. Досить химерний UX, але це корисно.
mitchell_st

Ваша найкраща відповідь на це питання ... На жаль, я можу проголосувати лише один раз .. Дякую
Дакш

31

Щоб перевірити свою версію, перевірте значення в process.versionsREPL.

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

Крім того, ви можете скласти вузол з іншими версіями V8, якщо хочете. Очевидно, результати можуть сильно відрізнятися тут, залежно від вибраних версій.

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, я повинен був використовувати, node -e console.log(process.versions.v8)хоча; інакше нічого не виводилося.
pimvdb

Схоже, що у певний момент змінився вузол, спасибі за підказку. Відредагував відповідь, щоб відобразити це.
Бен Табер


9

Для розваги, якщо у вас є термінал, доступний у своєму терміналі, наступна версія повинна надавати вам версію 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

Наприклад, у своєму вікні з node.js 0.4.7 я отримую:

3.1.8.10

:)


3
Цікаво, як визначення розваги може змінюватись від людини до іншої :)
Арно Лейдер

9

знайти встановлену версію v8 з вузлом.

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

де об'єкт процесу - глобальний, який надає інформацію про поточний процес Node.js та контролює його.

якщо ви просто введете процес у репліку вузла, ви побачите інформацію про вузол (тобто версія вузла, версія v8, платформа, інформація про змінні env тощо)


9

Якщо ви користуєтесь Node.js версії 7.7.3 або подібної, команда є

$ node -p "process.versions"

Але і ті, хто вище, теж добре працюють.


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

2
Хороша відповідь завжди матиме пояснення того, що робиться і чому це було зроблено не тільки для ОП, але і для майбутніх відвідувачів ПС.
Джей Бланшард

Нахил, тому що він не додає нічого важливого до найбільш схваленої відповіді на ці запитання, яка була розміщена 3 роки тому.
Ярослав Адмін

4
Як це не додає нічого важливого? Він додає правильний, запропонований вузлом, спосіб з’ясувати, яка версія використовується. nodejs.org/en/docs/es6/…
Philiiiiiipp

4

Інші відповіді чудово підходять для перевірки вашої поточної версії. Тут також є таблиця з усіма версіями Node.js: https://nodejs.org/en/download/releases/ . Наприклад, витяг:

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

Ви також можете перевірити будь-яку версію nodejs v8 за допомогою докера, наприклад, вузла 10.7.0: docker run --rm -it node:10.7.0 bash -c "node -p process.versions"


0

v8 в комплекті з Node.js. Ви можете побачити, яку версію v8 використовує будь-яка версія Node.js і коли вона перейшла у виробництво, переглянувши v8 ChangeLogзі nodeсховища. Це поточний майстер (якщо будується з джерела): https://github.com/nodejs/node/commiss/master/deps/v8/ChangeLog

Щоб переглянути конкретну версію Node.js, переключіть гілку на цю версію і перевірте ChangeLogісторію файлів s.

Node.js зміни журналу журналу

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.