安装 Gulp 时出错
Error installing 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
您无权在 /sur/local 中写入
您 运行 sudo npm install -g gulp
或授予您的用户在 /usr/local
中写入的权利
其他答案通过使用 sudo
或 su root
来绕过这些问题。我个人不推荐这个。它起作用的原因是因为在 OSX 上,全局 npm 模块目录具有更严格的权限。 运行 只是为了解决权限问题而使用 root 权限的命令很可能只会让你在路上头疼,并让你面临安全漏洞。至少它会导致你在尝试做常规 node/npm 事情时不得不经常使用 sudo
.更安全的方法是仅更改该目录的权限。然而,即使那样有时也会引起噩梦。
我对此处其他建议的替代建议是使用 nvm。
你可以用 curl 安装它(你已经有了,只需粘贴下面的命令):
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
或者如果你安装了 Homebrew,你可以使用它:
brew install nvm
安装后,您将能够轻松安装所需的任何节点或 iojs 版本。
nvm install node
以上命令将安装最新版本的节点。好的部分是你所有的 node/iojs 安装都在 ~/.nvm/
中管理,这意味着它们在你的主目录中,你将始终拥有完全访问权限并且永远不需要使用 sudo
.
我对使用终端和安装 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
您无权在 /sur/local 中写入
您 运行 sudo npm install -g gulp
或授予您的用户在 /usr/local
其他答案通过使用 sudo
或 su root
来绕过这些问题。我个人不推荐这个。它起作用的原因是因为在 OSX 上,全局 npm 模块目录具有更严格的权限。 运行 只是为了解决权限问题而使用 root 权限的命令很可能只会让你在路上头疼,并让你面临安全漏洞。至少它会导致你在尝试做常规 node/npm 事情时不得不经常使用 sudo
.更安全的方法是仅更改该目录的权限。然而,即使那样有时也会引起噩梦。
我对此处其他建议的替代建议是使用 nvm。
你可以用 curl 安装它(你已经有了,只需粘贴下面的命令):
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
或者如果你安装了 Homebrew,你可以使用它:
brew install nvm
安装后,您将能够轻松安装所需的任何节点或 iojs 版本。
nvm install node
以上命令将安装最新版本的节点。好的部分是你所有的 node/iojs 安装都在 ~/.nvm/
中管理,这意味着它们在你的主目录中,你将始终拥有完全访问权限并且永远不需要使用 sudo
.