Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

polymer-cli installation failure on Ubuntu

Tags:

polymer-cli

No matter what I try, every time I try to install polymer-cli, it always comes up with a PERMISSION_DENIED error.

bradley@gurulaptop:~$ sudo npm -g install polymer-cli
npm WARN deprecated [email protected]: ..psst! While Bower is maintained, we recommend Yarn and Webpack for *new* front-end projects! Yarn's advantage is security and reliability, and Webpack's is support for both CommonJS and AMD projects. Currently there's no migration path but we hope you'll help us figure out one.
npm WARN deprecated @types/[email protected]: See https://github.com/DefinitelyTyped/DefinitelyTyped/issues/12826
/usr/bin/polymer -> /usr/lib/node_modules/polymer-cli/bin/polymer.js

> [email protected] install /usr/lib/node_modules/polymer-cli/node_modules/wd
> node scripts/build-browser-scripts

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

Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/polymer-cli/node_modules/wd/build'
    at Object.fs.mkdirSync (fs.js:877:18)
    at sync (/usr/lib/node_modules/polymer-cli/node_modules/mkdirp/index.js:71:13)
    at Object.<anonymous> (/usr/lib/node_modules/polymer-cli/node_modules/wd/scripts/build-browser-scripts.js:6:1)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Function.Module.runMain (module.js:605:10)
    at startup (bootstrap_node.js:158:16)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node scripts/build-browser-scripts`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] 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/bradley/.npm/_logs/2017-06-06T13_10_23_400Z-debug.log

How can I solve this?

like image 492
En Coder Avatar asked Jun 06 '17 13:06

En Coder


2 Answers

I faced the same problem and followed @Tim Lundqvist's answer and solved by the following way:

Step 1: Create a hidden folder in home. Commands:

$ cd ~
$ mkdir .polymer-patch
$ cd .polymer-patch
$ npm install polymer-cli

Step 2: create symbolic links to make it executables

$ sudo ln -s "$(readlink -f ~/.polymer-patch/node_modules/.bin/wd)" /usr/bin/wd
$ sudo ln -s "$(readlink -f ~/.polymer-patch/node_modules/.bin/polymer)" /usr/bin/polymer
$ polymer

Now polymer CLI is working for me.


Updated

This issue is node and npm version related but the following command works good

$ sudo npm install --unsafe-perm -g polymer-cli
like image 117
MH2K9 Avatar answered Oct 30 '22 13:10

MH2K9


There seems to be a problem installing the package wd as root. One way to work around this fact is to do a non global npm install of polymer-cli and use the local bin path.

$ cd ~
$ npm install polymer-cli
$ ~/node_modules/.bin/polymer --version
1.1.0

After which you may either copy all dependencies to /usr/lib/node_modules and /usr/bin/ or create symbolic links to the executables (which may be easier for a singe user system).

$ sudo ln -s "$(readlink -f ~/node_modules/.bin/wd)" /usr/bin/wd
$ sudo ln -s "$(readlink -f ~/node_modules/.bin/polymer)" /usr/bin/polymer

When the path /usr/bin/polymer exists you should be able to use the polymer command as expected.

like image 33
Tim Lundqvist Avatar answered Oct 30 '22 14:10

Tim Lundqvist