NPM安装失败(npm install failing)

2019-07-17 11:01发布

我会说,我旁边有没有经验,在终端或node.js中工作开始

同事离开度假,我想跟着他留给我们的演示服务器上设置自己的应用程序的指令。 我能得到的一切在本地运行,但我遇到了安装socket.io模块在服务器上的问题。

安装Python,安装的NodeJS,无论是成功的。 但后来我发出命令:

npm install -g socket.io

和输出我得到的是:

npm http GET https://registry.npmjs.org/socket.io
npm http 304 https://registry.npmjs.org/socket.io
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/socket.io'
npm ERR!  { [Error: EACCES, mkdir '/usr/local/lib/node_modules/socket.io']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/socket.io',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/socket.io',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack:
npm ERR!    [ 'DirWriter._create (/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:297:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Linux 2.6.32-279.el6.x86_64
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "socket.io"
npm ERR! cwd /home/qa
npm ERR! node -v v0.8.16
npm ERR! npm -v 1.1.69
npm ERR! path /usr/local/lib/node_modules/socket.io
npm ERR! fstream_path /usr/local/lib/node_modules/socket.io
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/socket.io'
npm ERR! fstream_stack DirWriter._create (/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:297:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/qa/npm-debug.log
npm ERR! not ok code 0

我在帐户应具有管理员权限。 周围的Googling我发现了一些建议,但似乎没有为我工作。 使用sudo但得到试过前面加上命令:

[qa@umr-demo ~]sudo npm install -g socket.io
[sudo] password for qa:
sudo: npm: command not found

Answer 1:

我有同样的错误,如果没有特权,所以在使用的时候,我必须使用sudo -g标志

如果须藤不recongize NPM你可以试试:

  • 路过故宫的完整路径

     $ sudo $(which npm) install -g socket.io 
  • 保持与-E标志环境

     $ sudo -E npm install -g socket.io 

UPD:

请注意,建议使用-g标志仅对可执行文件和本地安装(无标志),这些库require在你的代码天。 权限都需要复制的可执行文件/usr/bin ,或者在你的情况/usr/local/bin

还要注意的是,在socket.io现场, -g不包括用于安装命令标志;)

了解更多: http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/



Answer 2:

如果你在Arch Linux的,检查出npm2arch在AUR包。 它可以让你使用Pacman安装NPM包。

例:

npm2archinstall socket.io


文章来源: npm install failing