【问题标题】:Cant install npm packages with out sudo没有 sudo 无法安装 npm 包
【发布时间】:2014-07-12 05:00:56
【问题描述】:

我正在尝试安装 node-debugger,但没有 sudo 就无法安装。使用 sudo 会给我带来一些意想不到的副作用,所以想在没有 sudo 的情况下安装。以下是错误跟踪

 $  npm install -g node-inspector
npm http GET https://registry.npmjs.org/node-inspector
npm http 304 https://registry.npmjs.org/node-inspector
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/node-inspector'
npm ERR!  { [Error: EACCES, mkdir '/usr/local/lib/node_modules/node-inspector']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/node-inspector',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/node-inspector',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR!      'Object.oncomplete (fs.js:107:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Linux 3.8.0-35-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "node-inspector"
npm ERR! cwd /home/santhosh/dev/scaleqa/mean_tut/mean_io_original/scaleqaApp
npm ERR! node -v v0.10.22
npm ERR! npm -v 1.3.14
npm ERR! path /usr/local/lib/node_modules/node-inspector
npm ERR! fstream_path /usr/local/lib/node_modules/node-inspector
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/node-inspector'
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/santhosh/dev/scaleqa/mean_tut/mean_io_original/scaleqaApp/npm-debug.log

npm ERR! not ok code 0

【问题讨论】:

标签: node.js ubuntu npm


【解决方案1】:

使用sudo;这是因为当您全局安装时,NPM 会从您的 bin 文件夹创建链接到运行节点的脚本和包中的指定脚本(使 node-inspector somescript.js 真正运行 node /path/to/inspector/node_inspector.js somescript.js

那些 bin 文件夹对非超级用户是保护的,因此必须使用 sudo 来提升您的访问级别并允许 npm 写入这些目录。

【讨论】:

    【解决方案2】:

    您被要求提供sudo,因为您正在全局安装npm module,即您正在使用-g,它们存储在sudo user 可以访问的bin 中!

    如果您不使用-g,即您在本地安装它,它不会请求sudo 许可!

    【讨论】:

      猜你喜欢
      • 2014-07-02
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 2017-12-12
      • 1970-01-01
      • 2013-04-28
      相关资源
      最近更新 更多