[devel] Policy по упаковке модулей Node.js
Vitaly Lipatov
lav на altlinux.ru
Вт Мар 3 20:37:27 MSK 2020
Alexey Shabalin писал 3.3.20 20:01:
...
>> А вот пакеты для nodejs, использующие нативные библиотеки, паковать
>> нужно обязательно, иначе невозможно обеспечить сборку бинарной части
>> такого пакета.
>
> Что имеется ввиду под "нативные"? библиотеки на c/c++ ?
Да.
> Если да, то почему в качестве пример выбран node-webpack, в нем нет
> бинарных библиотек.
Обновлю примеры. У меня пока не было хороших примеров :)
> 2) Как использовать эти пакеты (sass, node-gyp) при сборке своих
> пакетов?
> Я пока другого способа, как в %prep сделать симлинки, не придумал:
> %prep
> %setup -q
> %patch -p1
> ln -sf %nodejs_sitelib/node-gyp node_modules/node-gyp
> ln -sf %nodejs_sitelib/node-sass node_modules/node-sass
> ln -sf %nodejs_sitelib/npm node_modules/npm
Зависит от того, как они используются. В идеале лучше не делать ссылки.
> Получается не совсем удобная схема.
> Вот собираю я grafana.
> запустил в своём бранче
> yarn install --pure-lockfile
> в получившемся node_modules поудалял node-sass, node-gyp, что бы потом
> в %prep сделать симлинки на системные.
> Может есть рекомендации, как это сделать лучше?
Я предлагаю собирать любым способом, чтобы стало понятно, как этом можно
сделать удобно.
Из изложенного такие выводы:
1. не должны требоваться симлинки в node_modules, node и так отлично
загрузит эти модули, а скрипты — запустят команды (node-gyp и npm)
2. удаление ненужных модулей сделать важно, а в случае, если там
бинарники — и необходимо
--
С уважением,
Виталий Липатов,
ALT Linux Team
Подробная информация о списке рассылки Devel