Welcome! Log In Create A New Profile

Advanced

Re: Релиз Unit 1.6

Валентин Бартенев
November 17, 2018 10:04AM
On Saturday, 17 November 2018 17:12:13 MSK Валентин Бартенев wrote:
> On Saturday, 17 November 2018 08:16:41 MSK Vadim A. Misbakh-Soloviov wrote:
> > Что-то я тут подебажил ещё, и заметил вообще страннейшую вещь:
> > нижеуказанная ошибка вываливается если использовать --local=/usr/lib64 и
> > export USER=root (потому что под ним и происходит install-фаза, просто
> > переменная пуста).
> >
> > > ```
> > > gyp WARN EACCES user "root" does not have permission to access the dev dir
> > > "/ var/tmp/portage/www-servers/nginx-unit-9999/homedir/.node-gyp/9.8.0" gyp
> > > cc1plus: error: /var/tmp/portage/www-servers/nginx-unit-9999/work/nginx-
> > > unit-9999/src: Permission denied
> > > ```
> >
> > Однако (!!!)
> > 1) не просто у юзера root есть права доступа в директории, на которые
> > ссылается билдлог, но и прямо даже из секции src_install (откуда потом
> > вызывается `make install`), непосредственно перед этим `make install`'ом я
> > прекрасно могу создать (touch'ем) файлы в указанных директориях...
> > Ну, точнее, первая не существует, но прекрасно создаётся `mkdir -p` (хотя это
> > и не помогает, а приводит к другой ошибке с правами), а вот во второй
> > прекрасно создаютмя любые файлы.
> >
> > А вот gyp почему-то выкабенивается...
>
>
> Я ровно это сейчас и наблюдаю, но только без --local:
>
> npm install -g /tmp/portage/www-servers/nginx-unit-9999/work/nginx-unit-9999/build/node-unit-http.tar.gz
>
> > unit-http@1.0.0 install /tmp/portage/www-servers/nginx-unit-9999/image/usr/lib64/node_modules/unit-http
> > node-gyp configure build
>
> gyp WARN EACCES user "root" does not have permission to access the dev dir "/tmp/portage/www-servers/nginx-unit-9999/homedir/.node-gyp/8.12.0"
> gyp WARN EACCES attempting to reinstall using temporary dev dir "/tmp/portage/www-servers/nginx-unit-9999/image/usr/lib64/node_modules/unit-http/.node-gyp"
> gyp WARN install got an error, rolling back install
> gyp WARN install got an error, rolling back install
> gyp ERR! configure error
> gyp ERR! stack Error: EACCES: permission denied, mkdir '/tmp/portage/www-servers/nginx-unit-9999/image/usr/lib64/node_modules/unit-http/.node-gyp'
> gyp ERR! System Linux 4.14.81-gentoo
> gyp ERR! command "/usr/bin/node" "/usr/lib64/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
>
>
> И пока непонятно, что с этим делать. Будем разбираться.
>

По всей видимости, опция USER влияет исключительно на вывод ошибки в логе,
а пользователь при этом остается тем, что был указан в конфигах npm, а по
умолчанию это "nobody". Очень удобно!

Если в npm install скормить явно --user=root, то всё успешно отрабатывает.
Похоже --unsafe-perm там необходим, иначе оно неработоспособно при таких сборках.

У меня установка (без опции --local) прошла успешно с таким патчем:

diff -r cb3595d83966 auto/modules/nodejs
--- a/auto/modules/nodejs Thu Nov 15 21:50:00 2018 +0300
+++ b/auto/modules/nodejs Sat Nov 17 17:21:05 2018 +0300
@@ -161,7 +161,7 @@ install: ${NXT_NODE}-$NXT_NODE_INSTALL
${NXT_NODE}-install: ${NXT_NODE_TARBALL} \
$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
${NXT_NODE_EXPORTS} && \\
- ${NXT_NPM} install -g ${PWD}/${NXT_NODE_TARBALL}
+ ${NXT_NPM} install -g --user=root ${PWD}/${NXT_NODE_TARBALL}

${NXT_NODE}-uninstall:
${NXT_NPM} uninstall -g unit-http

Либо с таким:

diff -r cb3595d83966 auto/modules/nodejs
--- a/auto/modules/nodejs Thu Nov 15 21:50:00 2018 +0300
+++ b/auto/modules/nodejs Sat Nov 17 17:21:05 2018 +0300
@@ -161,7 +161,7 @@ install: ${NXT_NODE}-$NXT_NODE_INSTALL
${NXT_NODE}-install: ${NXT_NODE_TARBALL} \
$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
${NXT_NODE_EXPORTS} && \\
- ${NXT_NPM} install -g ${PWD}/${NXT_NODE_TARBALL}
+ ${NXT_NPM} install -g --unsafe-perm ${PWD}/${NXT_NODE_TARBALL}

${NXT_NODE}-uninstall:
${NXT_NPM} uninstall -g unit-http


--
Валетин Бартенев
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Релиз Unit 1.6

Валентин Бартенев November 15, 2018 09:48AM

Re: Релиз Unit 1.6

Vadim A. Misbakh-Soloviov November 15, 2018 01:44PM

Re: Релиз Unit 1.6

Валентин Бартенев November 15, 2018 03:32PM

Re: Релиз Unit 1.6

Vadim A. Misbakh-Soloviov November 15, 2018 03:48PM

Re: Релиз Unit 1.6

Валентин Бартенев November 15, 2018 04:12PM

Re: Релиз Unit 1.6

Vadim A. Misbakh-Soloviov November 16, 2018 12:34AM

Re: Релиз Unit 1.6

Vadim A. Misbakh-Soloviov November 17, 2018 12:18AM

Re: Релиз Unit 1.6

Валентин Бартенев November 17, 2018 09:12AM

Re: Релиз Unit 1.6

Валентин Бартенев November 17, 2018 10:04AM

Re: Релиз Unit 1.6

Vadim A. Misbakh-Soloviov November 17, 2018 11:14AM

Re: Релиз Unit 1.6

Валентин Бартенев November 19, 2018 09:04AM

Re: Релиз Unit 1.6

Vadim A. Misbakh-Soloviov November 19, 2018 12:18PM

Re: Релиз Unit 1.6

Валентин Бартенев December 12, 2018 12:00PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 297
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready