Permission denied while trying to install elm with sudo on ubuntu

I am trying to install elm on my computer (Ubuntu 16.04.2 LTS).

Running $ npm install -g elm in accordance with the instructions at this link, I get a permission error. So I am trying again to use sudo, i.e. $ sudo npm install -g elm .

This gives another permission error, namely

 $ sudo npm install -g elm npm WARN deprecated node-uuid@1.4.8 : Use uuid module instead /usr/local/bin/elm-package -> /usr/local/lib/node_modules/elm/binwrappers/elm-package /usr/local/bin/elm -> /usr/local/lib/node_modules/elm/binwrappers/elm /usr/local/bin/elm-make -> /usr/local/lib/node_modules/elm/binwrappers/elm-make /usr/local/bin/elm-reactor -> /usr/local/lib/node_modules/elm/binwrappers/elm-reactor /usr/local/bin/elm-repl -> /usr/local/lib/node_modules/elm/binwrappers/elm-repl > elm@0.18.0 install /usr/local/lib/node_modules/elm > node install.js Error extracting linux-x64.tar.gz - Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/elm/Elm-Platform' npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! elm@0.18.0 install: `node install.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the elm@0.18.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! /home/matthew/.npm/_logs/2017-07-03T05_58_24_401Z-debug.log 

The end of the specified log file (at / home / matthew / .npm / _logs / 2017-07-03T05_58_24_401Z-debug.log) is shown below.

 ... 2499 verbose linkBins asap@2.0.5 2500 verbose linkMans asap@2.0.5 2501 silly build ansi-styles@2.2.1 2502 info linkStuff ansi-styles@2.2.1 2503 silly linkStuff ansi-styles@2.2.1 has /usr/local/lib/node_modules/elm/node_modules as its parent node_modules 2504 silly linkStuff ansi-styles@2.2.1 is part of a global install 2505 silly linkStuff ansi-styles@2.2.1 is installed into a global node_modules 2506 verbose linkBins ansi-styles@2.2.1 2507 verbose linkMans ansi-styles@2.2.1 2508 silly build ansi-regex@2.1.1 2509 info linkStuff ansi-regex@2.1.1 2510 silly linkStuff ansi-regex@2.1.1 has /usr/local/lib/node_modules/elm/node_modules as its parent node_modules 2511 silly linkStuff ansi-regex@2.1.1 is part of a global install 2512 silly linkStuff ansi-regex@2.1.1 is installed into a global node_modules 2513 verbose linkBins ansi-regex@2.1.1 2514 verbose linkMans ansi-regex@2.1.1 2515 silly doSerial global-link 736 2516 silly doParallel update-linked 736 2517 silly doSerial install 736 2518 silly install elm@0.18.0 2519 info lifecycle elm@0.18.0 ~install: elm@0.18.0 2520 verbose lifecycle elm@0.18.0 ~install: unsafe-perm in lifecycle false 2521 verbose lifecycle elm@0.18.0 ~install: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/usr/local/lib/node_modules/elm/node_modules/.bin:/usr/local/lib/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin 2522 verbose lifecycle elm@0.18.0 ~install: CWD: /usr/local/lib/node_modules/elm 2523 silly lifecycle elm@0.18.0 ~install: Args: [ '-c', 'node install.js' ] 2524 silly lifecycle elm@0.18.0 ~install: Returned: code: 1 signal: null 2525 info lifecycle elm@0.18.0 ~install: Failed to exec install script 2526 verbose unlock done using /home/matthew/.npm/_locks/staging-3a08f0df5026584d.lock for /usr/local/lib/node_modules/.staging 2527 verbose stack Error: elm@0.18.0 install: `node install.js` 2527 verbose stack Exit status 1 2527 verbose stack at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:283:16) 2527 verbose stack at emitTwo (events.js:125:13) 2527 verbose stack at EventEmitter.emit (events.js:213:7) 2527 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14) 2527 verbose stack at emitTwo (events.js:125:13) 2527 verbose stack at ChildProcess.emit (events.js:213:7) 2527 verbose stack at maybeClose (internal/child_process.js:887:16) 2527 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:208:5) 2528 verbose pkgid elm@0.18.0 2529 verbose cwd /home/matthew 2530 verbose Linux 4.8.0-56-generic 2531 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "elm" 2532 verbose node v8.0.0 2533 verbose npm v5.0.4 2534 error code ELIFECYCLE 2535 error errno 1 2536 error elm@0.18.0 install: `node install.js` 2536 error Exit status 1 2537 error Failed at the elm@0.18.0 install script. 2537 error This is probably not a problem with npm. There is likely additional logging output above. 2538 verbose exit [ 1, true ] 

How can I proceed to install Elm?

+5
source share
1 answer

Ideally, the permissions on /usr/local/lib/node_modules/ are such that you do not need root privileges to install anything there.

If this is not possible, you need to tell npm that you should not drop your root privileges (which is a safe way to prevent the launch of rogue installation scripts):

 $ sudo npm install --unsafe-perm -g elm 
+10
source

Source: https://habr.com/ru/post/1269426/


All Articles