> Опция --local устанавливает NXT_NODE_LOCAL. Хм... Значит текст в node-local-check обманывает :) > echo "error: to make ${NXT_NODE}-local-install you need **either**"; > either :)
> ну и судя по тому, что было приведено в предыдущем письме, npm install > вызывается с флагом -g, а это установка в глобальную директорию npm в > системе. Что-то, да, я как-то и не приметил -g, прошу пардону :) > sandbox скорее всего мешает npm поставить в свою глобальную директорию > модулей в системе и от этого все приключения. На самом деле, нет. Если бы мешал sandbox, то вываливались бы сообщения об access violation от него самого, а их нет (к тому же, в `.../image/...` он ставить разрешает. Он не разрешает ставить в систему игнорируя DESTDIR. А установка, когда появляется бесконечный цикл, идёт как раз в директорию с учётом DESTDIR). > Подозреваю, что сам npm при этом на DESTDIR не смотрит или делает как-то > странно. Судя по всему, таки не игнорирует (или она ему как-то иначе передаётся). Потому что: ``` gyp WARN EACCES user "undefined" does not have permission to access the dev dir "/var/tmp/portage/www-servers/nginx-unit-9999/image/usr/lib64/ node_modules/unit-http/.node-gyp/9.8.0" gyp WARN EACCES attempting to reinstall using temporary dev dir "/var/tmp/ portage/www-servers/nginx-unit-9999/image/usr/lib64/node_modules/unit- http/.node-gyp" gyp WARN EACCES user "nobody" does not have permission to access the dev dir "/var/tmp/portage/www-servers/nginx-unit-9999/image/usr/lib64/node_modules/ unit-http/.node-gyp/9.8.0" gyp WARN EACCES attempting to reinstall using temporary dev dir "/var/tmp/ portage/www-servers/nginx-unit-9999/image/usr/lib64/node_modules/unit- http/.node-gyp" ``` При этом, `/var/tmp/portage/www-servers/nginx-unit-9999/image/` - это как раз и есть DESTDIR. > Ok, посмотрю на это повнимательнее. > > Последний раз, когда я пытался поставить в Gentoo, то обнаружил > из коробки сломанный npm: > > > % npm -v Ну, у меня npm, вроде и рабочий, не смотря на "старую" версию nodejs'а в системе (9.8.0) и описанные выше проблемы (10+ версии замаскированы из-за зависимости от openssl-1.1, а 9.х привередничает про icu) :) К слову, для лучшей воспроизводимости - немного обнаглею и попрошу ставить из моего оверлея (у меня там более фичастый unit, в отличие от того, что в главном репозитории, да и там - последний 1.5). Его можно добавить либо layman'ом, либо eselect-repository (в зависимости от новизны системы и того, что из них используется для управления репозиториями). Соответственно, > layman -a mva или > eselect repository enable mva После чего > USE="unit_modules_nodejs" sudo emerge -va nginx-unit::mva Кстати, я сейчас попробовал подобавлять `--local`... Получил такое вот: ``` 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 WARN EACCES attempting to reinstall using temporary dev dir "/var/tmp/ portage/www-servers/nginx-unit-9999/image/usr/lib64/node_modules/unit- http/.node-gyp" make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. CXX(target) Release/obj.target/unit-http/unit.o cc1plus: error: /var/tmp/portage/www-servers/nginx-unit-9999/work/nginx- unit-9999/src: Permission denied make[1]: *** [unit-http.target.mk:96: Release/obj.target/unit-http/unit.o] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/lib64/node_modules/npm/ node_modules/node-gyp/lib/build.js:258:23) gyp ERR! stack at ChildProcess.emit (events.js:180:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/ child_process.js:209:12) gyp ERR! System Linux 4.18.10 gyp ERR! command "/usr/bin/node" "/usr/lib64/node_modules/npm/node_modules/ node-gyp/bin/node-gyp.js" "configure" "build" gyp ERR! cwd /var/tmp/portage/www-servers/nginx-unit-9999/image/usr/lib64/ node_modules/unit-http gyp ERR! node -v v9.8.0 gyp ERR! node-gyp -v v3.6.2 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! unit-http@1.0.0 install: `node-gyp configure build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the unit-http@1.0.0 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /var/tmp/portage/www-servers/nginx-unit-9999/homedir/.npm/_logs/ 2018-11-16T05_31_22_466Z-debug.log make: *** [build/Makefile:1831: node-local-install] Error 1 ``` Даже при выключенном fakeroot... Что-то странное... _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru