Node.js 无法通过nvm安装软件包-g(本地配置文件,而不是sudo)

Node.js 无法通过nvm安装软件包-g(本地配置文件,而不是sudo),node.js,bower,Node.js,Bower,我正在使用nvm运行节点版本0.12.2 我尝试在全球范围内安装bower: karl@karl-laptop:~/www/busarama/src$ npm install -g bower npm ERR! tar.unpack untar error /home/karl/.npm/bower/1.4.1/package.tgz npm ERR! Linux 3.16.0-36-generic npm ERR! argv "/home/karl/.nvm/versions/node/v0.

我正在使用nvm运行节点版本0.12.2

我尝试在全球范围内安装bower:

karl@karl-laptop:~/www/busarama/src$ npm install -g bower
npm ERR! tar.unpack untar error /home/karl/.npm/bower/1.4.1/package.tgz
npm ERR! Linux 3.16.0-36-generic
npm ERR! argv "/home/karl/.nvm/versions/node/v0.12.2/bin/node" "/home/karl/.nvm/versions/node/v0.12.2/bin/npm" "install" "-g" "bower"
npm ERR! node v0.12.2
npm ERR! npm  v2.7.4
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13

npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES, mkdir '/usr/local/lib/node_modules']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/bower',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/home/karl/.nvm/versions/node/v0.12.2/lib/node_modules/npm/node_modules/fstream/lib/writer.js:171:23',
npm ERR!      '/home/karl/.nvm/versions/node/v0.12.2/lib/node_modules/npm/node_modules/mkdirp/index.js:46:53',
npm ERR!      'FSReqWrap.oncomplete (fs.js:95:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/karl/www/busarama/src/npm-debug.log
我非常怀疑这是因为我今天早些时候运行了以下程序:

npm config set prefix /usr/local
有人知道在将-g安装到本地概要文件(而不是sudo)时,默认的npm配置前缀应该是什么吗?我作为本地用户安装了nvm

这影响了我尝试在全球范围内安装的所有内容

找到这个很好的链接:

…或安装节点的任何位置。 这意味着我猜它应该安装在/home/karl/.nvm/versions/node/v0.12.2的某个地方


我需要将npm配置前缀设置为任何正在运行的节点。

我刚刚重新安装了nvm。似乎修复了配置文件。

sudo制作一个三明治:@DavinTryon,因此所有全局安装都应该通过sudo进行?@DavinTryon在那里不显示!取决于您在哪个用户下运行。但是当您尝试在路径/usr/local/lib/node_模块中执行mkdir时,会遇到权限问题。@KarlMorrison是的,因为当前用户没有访问/usr/dir的权限。这就像是要安装
Local install (default): puts stuff in ./node_modules of the current package root.
Global install (with -g): puts stuff in /usr/local or wherever node is installed.
Install it locally if you're going to require() it.
Install it globally if you're going to run it on the command line.
If you need both, then install it in both places, or use npm link.