npm ошибка при установке полимера - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь протестировать датчики, используя html и javascript, как показано здесь , но когда я пытаюсь установить полимер , как написано в readme, я получаю эту ошибку :

kupu@kupu:~/Dropbox/IOT/generic-sensor-demos/sensor-info$ npm install -g polymer-cli
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']
npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kupu/.npm/_logs/2020-05-09T17_52_32_877Z-debug.log

И даже если я попытаюсь запустить его как sudo , я получу следующее:

kupu@kupu:~/Dropbox/IOT/generic-sensor-demos/sensor-info$ sudo npm install -g polymer-cli
/usr/local/bin/polymer -> /usr/local/lib/node_modules/polymer-cli/bin/polymer.js

> wd@1.11.2 install /usr/local/lib/node_modules/polymer-cli/node_modules/wd
> node scripts/build-browser-scripts

/usr/local/lib/node_modules/polymer-cli/node_modules/mkdirp/index.js:90
                    throw err0;
                    ^

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/polymer-cli/node_modules/wd/build'
    at Object.mkdirSync (fs.js:753:3)
    at sync (/usr/local/lib/node_modules/polymer-cli/node_modules/mkdirp/index.js:71:13)
    at Object.<anonymous> (/usr/local/lib/node_modules/polymer-cli/node_modules/wd/scripts/build-browser-scripts.js:6:1)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:283:19)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/polymer-cli/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! wd@1.11.2 install: `node scripts/build-browser-scripts`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the wd@1.11.2 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!     /root/.npm/_logs/2020-05-09T17_53_02_303Z-debug.log

Есть ли там добрая душа, которая может мне помочь? ?

Ответы [ 2 ]

1 голос
/ 09 мая 2020

У вас типичная проблема с разрешением npm EACCES. Это связано с тем, что у вашего пользователя нет прав на изменение каталога, в котором npm пытается хранить глобальные пакеты. Это может сильно раздражать. Вы должны посмотреть здесь и увидеть, какое решение подходит вам лучше всего: https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

0 голосов
/ 09 мая 2020

Вы можете исправить это с помощью,

sudo npm install --unsafe-perm -g polymer-cli

Флаг Unsafe-perm установлен в значение true, чтобы подавить переключение идентификатора пользователя / идентификатора группы при запуске сценариев пакета. root пользователь из установки пакетов.

Вы также можете попробовать изменить владельца node_modules,

Чтобы изменить владельца на текущего пользователя как группу -

sudo chown -R root: <YOUR_USERNAME>/usr/local/lib/node_modules/

sudo chmod -R 775 /usr/local/lib/node_modules/

И никогда не используйте sudo для npm похожий запрос.

...