最近我的电脑换成了ubuntu
系统,然后安装完node
以后开始装hexo
,代码如下:
npm install hexo-cli -g
然后控制台出现如下错误:
npm ERR! path ../lib/node_modules/hexo-cli/bin/hexonpm ERR! code EACCESnpm ERR! errno -13npm ERR! syscall symlinknpm ERR! Error: EACCES: permission denied, symlink '../lib/node_modules/hexo-cli/bin/hexo' -> '/usr/local/bin/hexo'npm ERR! { Error: EACCES: permission denied, symlink '../lib/node_modules/hexo-cli/bin/hexo' -> '/usr/local/bin/hexo'npm ERR! cause: npm ERR! { Error: EACCES: permission denied, symlink '../lib/node_modules/hexo-cli/bin/hexo' -> '/usr/local/bin/hexo'npm ERR! errno: -13,npm ERR! code: 'EACCES',npm ERR! syscall: 'symlink',npm ERR! path: '../lib/node_modules/hexo-cli/bin/hexo',npm ERR! dest: '/usr/local/bin/hexo' },npm ERR! stack: 'Error: EACCES: permission denied, symlink \'../lib/node_modules/hexo-cli/bin/hexo\' -> \'/usr/local/bin/hexo\'',npm ERR! errno: -13,npm ERR! code: 'EACCES',npm ERR! syscall: 'symlink',npm ERR! path: '../lib/node_modules/hexo-cli/bin/hexo',npm ERR! dest: '/usr/local/bin/hexo' }npm ERR! npm ERR! Please try running this command again as root/Administrator.npm ERR! A complete log of this run can be found in:npm ERR! /home/ggboy/.npm/_logs/2017-09-06T12_32_32_667Z-debug.log
有人能说一下这是怎么回事吗?node
的版本号是8.4.0
,npm
的版本号是5.3.0
(ps:我是用node源码安装的nodejs
解决方案
目录没有写入权限,可以使用sudo暴力解决,但极不推荐。
npm可以设置全局包目录的位置,设置到有权限的位置就好了。手机答题不方便查命令。
指定npm全局安装包时的安装位置,一般在家目录范围下,这样写入权限就不是问题:
$ cd ~ && mkdir .node_modules_global$ npm config set prefix=$HOME/.node_modules_global
查看效果:
$ npm config get prefix/home/<user_name>/.node_modules_global$ cat .npmrcprefix=/home/<user_name>/.node_modules_global
安装最新npm:
npm install npm --global
设置环境变量,使安装的包能够被终端环境寻找到,添加下面语句到.profile、.bash_profile或.bashrc并重启终端:
export PATH="$HOME/.node_modules_global/bin:$PATH"
查看效果:
which npm
再试试安装你的包