sudo npm install protractor -gи повторите ту же самую известную ошибку/предупреждение (googled to no help):
gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/dmitrizaitsev/.node-gyp/0.12.0"Похоже, что node version 0.12.0 загружается и перестраивается снова и снова во время одной и той же установки, несмотря на то, что на моем компьютере находится текущая версия node:
node -v
v0.12.0Почему этот каталог не был создан ни во время
node v0.12.0, ни во время предыдущей успешной перестройки сnode-gyp?(Очевидно) Как я могу предотвратить это?
Я запускаю Mac OSX 10.8.5, если это имеет какое-то значение.
Ответ 1
UPDATE. Существует лучший способ: изменить глобальный каталог npm по умолчанию на пользовательский подкаталог, к которому у вас уже есть правильные разрешения, поэтому не нужно возиться с правами системного файла или правами собственности на первом месте.
Как рекомендовано в
https://docs.npmjs.com/getting-started/fixing-npm-permissions:
- Создайте каталог для глобальных установок:
mkdir ~/npm-global
- Настройте npm для использования нового пути к каталогам:
npm config set prefix '~/npm-global'
- Откройте или создайте файл
~/.profile(или~/.bash_profileи т.д.) и добавьте эту строку (в конце файла):
export PATH=~/npm-global/bin:$PATHСм. также руководство Sindre Sorhus по теме: https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo.md
Теперь поняли, что не так:
В каталоге были неправильные разрешения — он не был доступен для записи (что было бы лучшим сообщением об ошибке, чем «доступно» ).
И поскольку он не был доступен для записи, временный каталог использовался и удалялся после каждого использования, поэтому вся загрузка должна запускаться снова и снова.
Решение состоит в том, чтобы установить права пользователя с помощью
sudo chown -R $USER <directory>и никогда sudo npm снова.
Кажется, что всякий раз, когда вы запускаете sudo npm, все созданные подкаталоги получают неправильные разрешения, что впоследствии приведет к проблемам.
Подробнее см. здесь.
Ответ 2
sudo npm install -g module — unsafe-perm
Ответ 3
Просто создайте новую папку с именем 0.12.0 , которая является номером версии вашего node
Он устранит проблему.
https://youtube.com/watch?v=%3Fcc_load_policy%3D1%26hl%3Dru-RU
sudo npm install protractor -g и снова та же пресловутая ошибка / предупреждение (безрезультатно погуглить):
gyp WARN EACCES user 'root' does not have permission to access the dev dir '/Users/dmitrizaitsev/.node-gyp/0.12.0' Кажется, что происходит то, что node version 0.12.0 загружается и перестраивается снова и снова во время одной и той же установки, несмотря на то, что это текущая версия узла на моем компьютере:
node -v v0.12.0 Почему этот каталог не был создан ни во время
node v0.12.0ни во время предыдущей успешной перестройки сnode-gyp?(Очевидно) Как я могу предотвратить это?
Я запускаю Mac OSX 10.8.5, если это важно.
ОБНОВИТЬ. Есть способ лучше — изменить npmглобальный каталог по умолчанию для подкаталога пользователя, для которого у вас уже есть правильные разрешения, поэтому не нужно в первую очередь связываться с разрешениями или правами собственности на системные файлы.
Как рекомендовано в https://docs.npmjs.com/getting-started/fixing-npm-permissions:
- Создайте каталог для глобальных установок:
mkdir ~/.npm-global
- Настройте npm для использования нового пути к каталогу:
npm config set prefix '~/.npm-global'
- Откройте или создайте
~/.profile(или~/.bash_profileetc) файл и добавьте эту строку (в конец файла):
export PATH=~/.npm-global/bin:$PATH
- В командной строке обновите системные переменные:
source ~/.profile или source ~/.bash_profile
См. Также руководство Синдре Сорхуса по теме: https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo.md
Теперь разобрались, в чем дело:
У каталога были неправильные разрешения — это не было записываемый (что было бы лучшим сообщением об ошибке, чем «доступно»).
И поскольку он не был доступен для записи, временный каталог использовался и удалялся после каждого использования, поэтому всю загрузку приходилось запускать снова и снова.
Решение состоит в том, чтобы установить права пользователя с помощью
sudo chown -R $USER и никогда sudo npm еще раз. Кажется, когда ты бежишь sudo npm, все созданные подкаталоги получают неправильные разрешения, что в дальнейшем приведет к проблемам.
Подробнее см. Здесь.
sudo npm install -g модуль — небезопасно-пермь
- 3 Нет, ты не
sudo npm— смотри мой ответ! - Спасибо, это решило мою проблему. По какой-то причине я не смог реализовать ответ выше.
- для меня это сработало. запускал npm от root, поэтому необходимо было убедиться, что он может работать от root. — небезопасно-пермь. Спасибо за исправление
- Также упоминается в pkg doc: npmjs.com/package/serialport/v/7.0.2
if you're going to use sudo or root to install Node-Serialport, npm will require you to use the unsafe parameters flag. sudo npm install serialport --unsafe-perm --build-from-source
Просто создайте новую папку с именем 0.12.0 который является номером версии вашего узла
Это решит проблему.
- 2 2 года спустя, столкнувшись с этой проблемой с узлом 9.0.0 и, конечно же, у меня нет каталога
/usr/local/js/node-v9.0.0/lib/node_modules/@angular/cli/node_modules/node-sass/.node-gyp/9.0.0потому что это то, что должен обрабатывать сценарий установки. В конце концов, это то, для чего он нужен. Вместо этого я получаю ошибку «нет разрешения» и бесконечный цикл во время установки. Ощущение 90-х. Клоунский. - Ну а
mkdirвырвал программу установки из цикла. Переходим к следующей проблеме.
При установке пакета Nodejs Browsertime я получил следующую ошибку.
npm install browsertime -g
/usr/bin/browsertime -> /usr/lib/node_modules/browsertime/bin/browsertime.js
> @sitespeed.io/chromedriver@77.0.3865-40 install /usr/lib/node_modules/browsertime/node_modules/@sitespeed.io/chromedriver
> node install.js
(node:26690) UnhandledPromiseRejectionWarning: Error: Destination Folder must exist at DownloaderHelper.__validate (/usr/lib/node_modules/browsertime/node_modules/@sitespeed.io/chromedriver/node_modules/node-downloader-helper/dist/index.js:390:23) at new DownloaderHelper (/usr/lib/node_modules/browsertime/node_modules/@sitespeed.io/chromedriver/node_modules/node-downloader-helper/dist/index.js:61:20) at download (/usr/lib/node_modules/browsertime/node_modules/@sitespeed.io/chromedriver/install.js:68:18)
(node:26690) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:26690) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
> @sitespeed.io/geckodriver@0.26.0 install /usr/lib/node_modules/browsertime/node_modules/@sitespeed.io/geckodriver
> node install.js
(node:26701) UnhandledPromiseRejectionWarning: Error: Destination Folder must exist at DownloaderHelper.__validate (/usr/lib/node_modules/browsertime/node_modules/@sitespeed.io/geckodriver/node_modules/node-downloader-helper/dist/index.js:387:23) at new DownloaderHelper (/usr/lib/node_modules/browsertime/node_modules/@sitespeed.io/geckodriver/node_modules/node-downloader-helper/dist/index.js:61:20) at download (/usr/lib/node_modules/browsertime/node_modules/@sitespeed.io/geckodriver/install.js:73:18)
(node:26701) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:26701) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
> sharp@0.23.0 install /usr/lib/node_modules/browsertime/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
ERR! sharp EACCES: permission denied, mkdir '/root/.npm/_libvips'
info sharp Attempting to build from source via node-gyp but this may fail due to the above error
info sharp Please see https://sharp.pixelplumbing.com/page/install for required dependencies
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/11.15.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/browsertime/node_modules/sharp/.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 '/usr/lib/node_modules/browsertime/node_modules/sharp/.node-gyp'
gyp ERR! System Linux 3.10.0-957.27.2.el7.x86_64
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/browsertime/node_modules/sharp
gyp ERR! node -v v11.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sharp@0.23.0 install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sharp@0.23.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:Я попробовал несколько вещей, но ничего не получалось.
После небольшого поиска я нашел документацию по npmjs и попробовал --unsafe-perm
npm install --unsafe-permЯ надеюсь, что это вам тоже поможет.
I have a Raspberry Pi Model B+, and currently I have been working with web development. Today, I successfully compiled the source code of Node.js on my Raspberry Pi, and I managed to install it without any hassle. My current Node.js version is version 0.8.16 which comes with the NPM module manager (1.1.69). When I try and install the speaker module (node-speaker), I get a bunch of errors. I really need help with installing this particular module.
This is the error NPM throws at me:
root@raspberrypi:/# npm install speaker
npm http GET https://registry.npmjs.org/speaker
npm http 304 https://registry.npmjs.org/speaker
npm http GET https://registry.npmjs.org/bindings
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/nan
npm http GET https://registry.npmjs.org/readable-stream
npm http 304 https://registry.npmjs.org/readable-stream
npm http 304 https://registry.npmjs.org/bindings
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/nan
npm http GET https://registry.npmjs.org/ms/0.6.2
npm http GET https://registry.npmjs.org/core-util-is
npm http GET https://registry.npmjs.org/isarray/0.0.1
npm http GET https://registry.npmjs.org/string_decoder
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/core-util-is
npm http 304 https://registry.npmjs.org/isarray/0.0.1
npm http 304 https://registry.npmjs.org/ms/0.6.2
npm http 304 https://registry.npmjs.org/string_decoder
npm http 304 https://registry.npmjs.org/inherits
> speaker@0.2.2 install /node_modules/speaker
> node-gyp rebuild
gyp WARN EACCES user "root" does not have permission to access the dev dir "/roo t/.node-gyp/0.8.16"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/node_modules/s peaker/.node-gyp"
gyp http GET http://nodejs.org/dist/v0.8.16/node-v0.8.16.tar.gz
gyp http 200 http://nodejs.org/dist/v0.8.16/node-v0.8.16.tar.gz
make: Entering directory '/node_modules/speaker/build' CC(target) Release/obj.target/output/deps/mpg123/src/output/alsa.o
../deps/mpg123/src/output/alsa.c:19:28: fatal error: alsa/asoundlib.h: No such f ile or directory
compilation terminated.
deps/mpg123/output.target.mk:92: recipe for target 'Release/obj.target/output/de ps/mpg123/src/output/alsa.o' failed
make: *** [Release/obj.target/output/deps/mpg123/src/output/alsa.o] Error 1
make: Leaving directory '/node_modules/speaker/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_ modules/node-gyp/lib/build.js:232:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Linux 3.12.35+
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/b in/node-gyp.js" "rebuild"
gyp ERR! cwd /node_modules/speaker
gyp ERR! node -v v0.8.16
gyp ERR! node-gyp -v v0.7.3
gyp ERR! not ok
npm ERR! speaker@0.2.2 install: `node-gyp rebuild`
npm ERR! `sh "-c" "node-gyp rebuild"` failed with 1
npm ERR!
npm ERR! Failed at the speaker@0.2.2 install script.
npm ERR! This is most likely a problem with the speaker package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls speaker
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.12.35+
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "speaker"
npm ERR! cwd /
npm ERR! node -v v0.8.16
npm ERR! npm -v 1.1.69
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /npm-debug.log
npm ERR! not ok code 0It seems like the problem starts when NPM tries to execute this command:
node-gyp rebuildHow can I fix this problem?
asked Feb 4, 2015 at 12:26
I have seen this before on the Pi, where packages that are compiled by gyp refuse to compile or install. One method of getting around this problem is to install a precompiled binary.
sudo apt-get update && sudo apt-get upgradenext download node (this will download the latest stable package):
wget http://node-arm.herokuapp.com/node_latest_armhf.debthen install the package:
sudo dpkg -i node_latest_armhf.debnode -vyou may also want to check the npm version as well:
npm -vanswered Feb 7, 2015 at 19:29
Steve Robillard
17 gold badges103 silver badges109 bronze badges
You should install libasound2 first:
sudo apt-get install libasound2-devanswered Feb 24, 2015 at 10:03

Just to add from what has been previously said, I had to do an extra step to get everything fixed:
- Install libasound (
sudo apt-get install libasound2-dev) - Install Qt5:
$ sudo apt-get update
$ sudo apt-get upgrade$ sudo apt-get install qt5-default
$ sudo apt-get install qtcreator
$ sudo apt-get install qtdeclarative5-dev$ sudo apt-get install qtbase5-dev qtchooser
$ sudo apt-get install qt5-qmake qtbase5-dev-tools
$ sudo apt-get install qtcreator
$ sudo apt-get install qtdeclarative5-devanswered Oct 19, 2022 at 8:53
When running npm install on Linux system, EACCES
> mirror-config-china@ preinstall /dssp/dssp-web/node_modules/mirror-config-china
> node -e || i util.promisify
> mirror-config-china@ install /dssp/dssp-web/node_modules/mirror-config-china
> node lib/install
: permission denied, open
Please running command again as root/Administrator.
(:) : : : permission denied, open
(:) : Unhandled promise rejection. This error originated either throwing inside an async without a block, rejecting a promise which was handled .(). (rejection : )
(:) [DEP0018] : Unhandled promise rejections are deprecated. In the future, promise rejections that are handled will terminate the Node.js process a non-zero exit code. WARN optional SKIPPING OPTIONAL : fsevents@ (node_modules/fsevents): WARN notsup SKIPPING OPTIONAL : Unsupported platform fsevents@: wanted {:,:} (: {:,:}) ERR! code ELIFECYCLE ERR! errno ERR! mirror-config-china@ : `` ERR! Exit status ERR! ERR! Failed at the mirror-config-china@ install script. ERR! This probably a problem . There likely additional logging output above. ERR! A complete log run can be found : ERR! ./_logs/--T08_17_26_334Z-debug.log npm install: npm: command not foundsudo ln /app/node/bin/node /usr/bin/node
sudo ln /app/node/lib/node /usr/lib/node
sudo ln /app/node/bin/npm /usr/bin/npm
sudo ln /app/node/bin/node /usr/bin/nodeAfter adding the link file, you can use the ll command under / usr / bin to check whether the link file address is correct (that is, the address after->)
The link file address is correct before runningsudo npm installJust






