简体   繁体   English

无法使用sudo安装npm软件包

[英]Cant install npm packages with out sudo

I am trying to install node-debugger and can't install with out sudo. 我正在尝试安装节点调试器,并且无法使用sudo安装。 Using sudo gets me some unexpected sideeffects, so want to install with out sudo. 使用sudo会给我带来一些意想不到的副作用,因此想在没有sudo的情况下进行安装。 Following is the error trace 以下是错误跟踪

 $  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

You have to use sudo ; 必须使用sudo ; this is because when you install globally, NPM creates links from your bin folder(s) to scripts that run node and the specified scripts from the packages (making node-inspector somescript.js really run node /path/to/inspector/node_inspector.js somescript.js . 这是因为在全局安装时,NPM会创建从bin文件夹到运行节点的脚本以及程序包中指定脚本的链接(使node-inspector somescript.js真正运行node /path/to/inspector/node_inspector.js somescript.js

Those bin folders are protected to those who are not super users, therefore sudo must be used to elevate your access level and allow npm to write to those directories. 这些bin文件夹受到非超级用户的保护,因此必须使用sudo来提升您的访问级别并允许npm写入那些目录。

You are being asked for sudo because you are installing the npm module globally ie you are using -g and they are stored in bin which can be accessed by sudo user ! 您被要求使用sudo因为您正在全局安装npm module ,即您正在使用-g并且它们存储在bin中, sudo user可以访问它!

if you do not use -g ie you install it locally it wont ask for sudo permission! 如果您不使用-g即在本地安装它,则不会要求sudo权限!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM