Ubuntu上的polymer-cli安装失败

En *_*der 4 polymer-cli

无论我尝试什么,每次我尝试安装polymer-cli时,总会出现PERMISSION_DENIED错误.

bradley@gurulaptop:~$ sudo npm -g install polymer-cli
npm WARN deprecated bower@1.8.0: ..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/assert@0.0.29: See https://github.com/DefinitelyTyped/DefinitelyTyped/issues/12826
/usr/bin/polymer -> /usr/lib/node_modules/polymer-cli/bin/polymer.js

> wd@1.2.0 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! wd@1.2.0 install: `node scripts/build-browser-scripts`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the wd@1.2.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/bradley/.npm/_logs/2017-06-06T13_10_23_400Z-debug.log
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

MH2*_*2K9 9

我遇到了同样的问题,并按照@Tim Lundqvist的回答并通过以下方式解决:

第1步:在家中创建一个隐藏文件夹.命令:

$ cd ~
$ mkdir .polymer-patch
$ cd .polymer-patch
$ npm install polymer-cli
Run Code Online (Sandbox Code Playgroud)

第2步:创建符号链接以使其成为可执行文件

$ 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
Run Code Online (Sandbox Code Playgroud)

现在聚合物CLI正在为我工​​作.


更新

此问题nodenpm版本相关,但以下命令运行良好

$ sudo npm install --unsafe-perm -g polymer-cli
Run Code Online (Sandbox Code Playgroud)


Tim*_*ist 2

以 root 身份安装该软件包似乎存在问题wd。解决这个问题的一种方法是进行非全局 npm 安装polymer-cli并使用本地 bin 路径。

$ cd ~
$ npm install polymer-cli
$ ~/node_modules/.bin/polymer --version
1.1.0
Run Code Online (Sandbox Code Playgroud)

之后,您可以将所有依赖项复制到/usr/lib/node_modules可执行文件/usr/bin/或创建到可执行文件的符号链接(这对于单用户系统可能更容易)。

$ sudo ln -s "$(readlink -f ~/node_modules/.bin/wd)" /usr/bin/wd
$ sudo ln -s "$(readlink -f ~/node_modules/.bin/polymer)" /usr/bin/polymer
Run Code Online (Sandbox Code Playgroud)

当路径/usr/bin/polymer存在时,您应该能够按polymer预期使用该命令。