После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Обсуждение установки и настройки поддерживаемых вебсерверов, а также работы с ними.
Ответить
jokero
Сообщения: 37
Зарегистрирован: Чт окт 20, 2022 5:58 pm

После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение jokero » Вт июл 22, 2025 1:22 pm

Здравствуйте. Ранее создавал тему по вопросу обновления NodeJS. У меня была версия NodeJS 22.4.1.
ОС: Ubuntu 24.04

Я выполнил команду:

Код: Выделить всё

apt-get update && apt-get install nodejs
После этого переустановил NodeJS в списке приложений через панель.

Версию встала 22.17.0, но теперь при сборке выдают ошибку:
Segmentation fault (core dumped)
ELIFECYCLE Command failed with exit code 139
Видел в одной из тем, что надо выполнить

Код: Выделить всё

apt-get update && apt-get install php74w-v8js
Пробовал. Результат ноль.

Аватара пользователя
sbury
Сообщения: 1706
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение sbury » Вт июл 22, 2025 1:52 pm

Проверьте что все пакеты обновились до актуальной версии. Покажите выводы эих команд

Код: Выделить всё

dpkg -l | grep nodejs
dpkg -l | grep npm
dpkg -l | grep libuv
Версия libuv должна быть v1.51.0
Зайдите в консоль под именем вашего пользователя. Проверьте что у него nodejs действительно обновился. Должно быть

Код: Выделить всё

$ node -v
v22.17.0
$
Или нажмите 'Перестроить Jail Skeleton'. Потом пересобрать JailShel и JailPHP
И последнее перезапустите сервис с nodejs в ручную
systemctl restart node@<id>.service

PHP модули php74w-v8js, относятся к пхп, если у вас сайт на nodejs он ни как не участвует в процессе. Сайт у вас c nodejs или php-fpm?

jokero
Сообщения: 37
Зарегистрирован: Чт окт 20, 2022 5:58 pm

Re: После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение jokero » Вт июл 22, 2025 2:57 pm

sbury писал(а):
Вт июл 22, 2025 1:52 pm
Проверьте что все пакеты обновились до актуальной версии. Покажите выводы эих команд

Код: Выделить всё

dpkg -l | grep nodejs
dpkg -l | grep npm
dpkg -l | grep libuv
Версия libuv должна быть v1.51.0
Зайдите в консоль под именем вашего пользователя. Проверьте что у него nodejs действительно обновился. Должно быть

Код: Выделить всё

$ node -v
v22.17.0
$
Или нажмите 'Перестроить Jail Skeleton'. Потом пересобрать JailShel и JailPHP
И последнее перезапустите сервис с nodejs в ручную
systemctl restart node@<id>.service

PHP модули php74w-v8js, относятся к пхп, если у вас сайт на nodejs он ни как не участвует в процессе. Сайт у вас c nodejs или php-fpm?

Код: Выделить всё

root:~# dpkg -l | grep nodejs
ii  nodejs                             22.17.0-0brainy0.24.04                                                                                                                            all          Node.js is a platform built on Chrome's JavaScript                                                                                         runtime
ii  nodejs-libs                        22.17.0-0brainy0.24.04                                                                                                                            all          Libraries to support Node.js and provide stable v8                                                                                         interfaces.
root:~# dpkg -l | grep npm
ii  npm                                22.17.0-0brainy0.24.04                                                                                                                            all          npm is a package manager for node.js. You can use                                                                                         it to install and publish
root:~# dpkg -l | grep libuv
ii  libuv1-dev:amd64                   1.51.0-0brainy1                                                                                                                                   amd64        asynchronous event notification library - developm                                                                                        ent files
ii  libuv1t64:amd64                    1.51.0-0brainy1                                                                                                                                   amd64        asynchronous event notification library - runtime                                                                                         library
root:~# node -v
v22.17.0
У меня связка Nginx + NodeJS. PHP-FPM тоже используется.

Код: Выделить всё

systemctl restart node@<id>.service
Выдает: -bash: id: No such file or directory. Какой ID инстанса я к сожалению не знаю.

Аватара пользователя
sbury
Сообщения: 1706
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение sbury » Вт июл 22, 2025 3:09 pm

зайдите в меню сайты , там номер порта в строке с сайтом. Это он и есть. Или посмотрите что есть физически

Код: Выделить всё

ls -1 /usr/lib/systemd/system | grep 'nodejs@'
и проверьте что у самого пользователя. Зайдите в терминал под его именем и дайте команду

Код: Выделить всё

node -v
npm -v
Еще, для проверки, можете создать нового пользователя и ему какой нибудь новый сайт на NodeJS

jokero
Сообщения: 37
Зарегистрирован: Чт окт 20, 2022 5:58 pm

Re: После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение jokero » Вт июл 22, 2025 4:00 pm

sbury писал(а):
Вт июл 22, 2025 3:09 pm
Зайдите в терминал под его именем и дайте команду

Код: Выделить всё

node -v
npm -v
Еще, для проверки, можете создать нового пользователя и ему какой нибудь новый сайт на NodeJS

Код: Выделить всё

user:~$ node -v
v22.17.0
user:~$ npm -v
10.9.2
Попробую объяснить, вот такой у меня набор:
Изображение

NodeJS установлен через менеджер приложений. Для сайтов используется PHP-FPM, PHP8.4.
Забегая наперед, я пробовал переустанавливать для своего сайта NodeJS вместо PHP8.4 в выборке при создании нового сайта, это не изменило ситуацию.

Команда: ls -1 /usr/lib/systemd/system | grep 'nodejs@' - ничего не выдает

Проблема №2
После перестройки JAIL Skeleton и пересборки Jail Shell/PHP вылезла новая проблема. В nginx конфигах дублируется директива root и при перезагрузке Nginx выдает ошибку:
[emerg] "root" directive is duplicate in /etc/nginx/sites-available/site.conf:6 nginx: configuration file /etc/nginx/nginx.conf test failed
При попытке ее убрать через /?do=setting_virthost снова выдает эту ошибку и все. Помогает только ручное удаление через файловый менеджер, но это явно не решение проблемы.

Вот как выглядит начало конфига:

Код: Выделить всё

server {
	listen 127.0.0.1:443 ssl http2;
	
	root  /home/cxd/sites/site.ua/app; # корректный root
	index index.php;
	server_name site.ua www.site.ua;
	root  /home/cxd/sites/site.ua; # тот, что добавляется

jokero
Сообщения: 37
Зарегистрирован: Чт окт 20, 2022 5:58 pm

Re: После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение jokero » Вт июл 22, 2025 4:14 pm

Проблему №2 удалось решить при помощи удаления сайта и создания нового, затем обновления данных в /?do=setting_virthost

Аватара пользователя
sbury
Сообщения: 1706
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение sbury » Вт июл 22, 2025 5:34 pm

Как я понял вы создаете сайт c PHP84w и потом используете модуль v8js для nodejs. Так?
Segmentation fault (core dumped)
ELIFECYCLE Command failed with exit code 139
И при какой команде вы получаете эту ошибку?

jokero
Сообщения: 37
Зарегистрирован: Чт окт 20, 2022 5:58 pm

Re: После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение jokero » Вт июл 22, 2025 7:53 pm

sbury писал(а):
Вт июл 22, 2025 5:34 pm
Как я понял вы создаете сайт c PHP84w и потом используете модуль v8js для nodejs. Так?
Segmentation fault (core dumped)
ELIFECYCLE Command failed with exit code 139
И при какой команде вы получаете эту ошибку?
Не совсем. Я использую просто PHP.
NodeJS выполняет роль моста проекта на NuxtJS (VueJS).

Выполняю команду установки пакетов pnpm i, после чего получаю эту ошибку.
Дело в том, что на версии 22.4.1 эта команда работала и было все ок (за исключением проблем из-за старой версии NodeJS), после обновления что-то пошло не так.

Аватара пользователя
sbury
Сообщения: 1706
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение sbury » Ср июл 23, 2025 4:53 am

Добавил nodejs-24.4.1 (пока не в паблик)
для Ubuntu 24.04. Все операции в консоле с правами рута

Добавить строку в конец файла /etc/apt/sources.list

Код: Выделить всё

deb [trusted=yes] http://repubra.netxi.in/centos/ubuntu24f/ ubuntu24f main
или использовать патч

Код: Выделить всё

diff -urN a/sources.list b/sources.list
--- a/sources.list      2025-07-23 04:46:34.193461621 +0000
+++ b/sources.list      2024-11-25 01:14:43.254751798 +0000
@@ -1,3 +1,4 @@
 # Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sources
 deb [trusted=yes] http://repubra.netxi.in/centos/ubuntu24/ ubuntu24 main
 deb [trusted=yes] http://repubra.netxi.in/centos/ubuntu24d/ ubuntu24d main
+deb [trusted=yes] http://repubra.netxi.in/centos/ubuntu24f/ ubuntu24f main
выполнить

Код: Выделить всё

apt-get update
переустановить nodejs в панеле.
Проверить что требуемые версии пакетов были установлены

Код: Выделить всё

dpkg -l | grep -E '(node|npm|libuv)'
Пересобрабрать джаил для пользователей

Следует обратить внимание, что модули PHP v8js не совместимы с новой версией nodejs , их следует отключить в панеле
Последний раз редактировалось sbury Ср июл 23, 2025 5:24 am, всего редактировалось 2 раза.

Аватара пользователя
sbury
Сообщения: 1706
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: После обновления NodeJS с v22.4.1. на v22.17.0. выдает ошибку

Сообщение sbury » Чт июл 24, 2025 3:29 am

Новый NodeJS v24.4.1-1 доступен

Такие версии должны быть установлены.

Код: Выделить всё

dpkg -l | grep -E '(libcares|node|libuv|nghttp|ngtcp)'
ii  libcares2:amd64                      1.34.5-1                                amd64        asynchronous name resolver
ii  libnghttp2-14:amd64                  1.59.0-1ubuntu0.2                       amd64        library implementing HTTP/2 protocol (shared library)
ii  libnghttp3-9:amd64                   1.8.0-1                                 amd64        HTTP/3 library with QUIC and QPACK (library)
ii  libngtcp2-16:amd64                   1.11.0-1                                amd64        implementation of QUIC protocol (library)
ii  libnode109                           24.4.1-1brainy0.24.04                   all          Libraries to support Node.js and provide stable v8 interfaces.
ii  libuv1t64:amd64                      1.51.0-0brainy1                         amd64        asynchronous event notification library - runtime library
ii  nodejs                               24.4.1-1brainy0.24.04                   all          Node.js is a platform built on Chrome's JavaScript runtime
ii  nodejs-libs                          24.4.1-1brainy0.24.04                   all          Libraries to support Node.js and provide stable v8 interfaces.
ii  npm                                  24.4.1-1brainy0.24.04                   all          npm is a package manager for node.js. You can use it to install and publish
Обновляется через панель в менеджере приложений.
Подключить репозитарий ubuntu24f (смотрите пост выше)
С консоли

Код: Выделить всё

apt-get update
Удалить в панеле в Менеджере приложений NodeJS
с консоли

Код: Выделить всё

apt-get remove --purge libnode109 nodejs-libs
apt-get install libngtcp2-16 libcares2 libnghttp3-9 libnghttp2-14
В менеджере приложений установить NodeJS и пересобрать Jailshell и JailPHP для всех существующих пользователей

nuxi/nuxt. Работает
Вложения
node_24.4.1_1.png
node_24.4.1_1.png (42.05 КБ) 4126 просмотров
node_24.4.1_2.png
node_24.4.1_2.png (48.83 КБ) 4126 просмотров

Ответить