安装Gulp时出错

ces*_*mez 4 terminal taskmanager node.js gulp

我很擅长使用终端和安装gulp,但我遇到了一些错误.错误不断出现,我不知道为什么.我现在的目标是全局安装gulp,但不确定是否有任何旧文件干扰.也许清理和重新安装会起作用?错误如下.谢谢!

pm ERR! tar.unpack untar error /Users/.npm/gulp/3.9.0/package.tgz
npm ERR! Darwin 14.1.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "gulp"
npm ERR! node v0.12.4
npm ERR! npm  v2.10.1
npm ERR! path /usr/local/lib/node_modules/gulp
npm ERR! code EACCES
npm ERR! errno -13

npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/gulp'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES, mkdir '/usr/local/lib/node_modules/gulp']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/gulp',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/gulp',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:35:25',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:47: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!     /usr/local/bin/npm-debug.log
Run Code Online (Sandbox Code Playgroud)

Che*_*hev 5

其他答案通过使用sudo或绕过这些问题su root.我个人不推荐这个.它起作用的原因是因为在OSX上全局npm模块目录具有更严格的权限.使用root权限运行命令只是为了解决权限问题,这可能只会让您头疼,并使您面临安全漏洞.至少,它会导致你不得不使用sudo 不断尝试做常规节点/ NPM东西的时候.更安全的方法是更改​​该目录的权限.然而,即便如此,有时也会导致噩梦.

我对其他建议的另一种建议是使用nvm.

你可以用curl安装它(你已经有了这个,只需粘贴下面的命令):

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

或者,如果安装了Homebrew,则可以使用Homebrew:

brew install nvm
Run Code Online (Sandbox Code Playgroud)

安装后,您将能够轻松安装所需的任何节点或iojs版本.

nvm install node
Run Code Online (Sandbox Code Playgroud)

以上命令将安装最新版本的节点.最好的部分是所有的node/iojs安装都在其中进行管理~/.nvm/,这意味着它们位于您的主目录中,您将始终拥有完全访问权限,并且不需要使用sudo.

  • 嗨,亚历克斯.感谢您的帮助!这正是我想要的!:) (2认同)