NPM安装-g cordova离子给出Err -13

我正尝试用npm安装离子(或任何东西),并且每次都遇到错误。 下面是我尝试安装离子时得到的错误的副本。

我已经尝试卸载/重新安装,但得到同样的问题。

npm ERR! tar.unpack untar error /Users/csutaria/.npm/ionic/1.4.5/package.tgz npm ERR! Darwin 14.3.0 npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "cordova" "ionic" npm ERR! node v0.12.4 npm ERR! npm v2.10.1 npm ERR! path /usr/local/lib/node_modules/ionic npm ERR! code EACCES npm ERR! errno -13 npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/ionic' npm ERR! at Error (native) npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/ionic'] npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! path: '/usr/local/lib/node_modules/ionic', npm ERR! fstream_type: 'Directory', npm ERR! fstream_path: '/usr/local/lib/node_modules/ionic', 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! error rolling back Error: EACCES, rmdir '/usr/local/lib/node_modules/cordova' npm ERR! error rolling back at Error (native) npm ERR! error rolling back { [Error: EACCES, rmdir '/usr/local/lib/node_modules/cordova'] npm ERR! error rolling back errno: -13, npm ERR! error rolling back code: 'EACCES', npm ERR! error rolling back path: '/usr/local/lib/node_modules/cordova' } npm ERR! Please include the following file with any support request: npm ERR! /Users/csutaria/npm-debug.log 

我可以共享日志文件,但它是巨大的。 让我知道,如果它的一个特定部分是有用的分享,或者我可以复制整个事情。

任何帮助将非常感激!

-CS

您遇到问题是因为您没有对/usr/local目录的写入权限。 一些选项来解决这个问题:

使用sudo以root / administrator身份执行安装

 sudo npm install -g cordova ionic 

您可以将/usr/local目录(和所有子目录)的所有权更改为当前用户,这通常是单个用户计算机上的一个很好的解决scheme:

 sudo chown -R $USER /usr/local 

您可以recursion地更改目录上的文件许可权以允许通用写入权限(不太安全,但仍不太可能导致问题)

 sudo chmod -R a+w /usr/local 

或者,你可以改变你的npm install -g命令安装的地方,但如果你想访问这些命令,你也可能需要弄乱PATHvariables。 要更改npm安装全局模块的位置,请inputnpm config edit ,然后添加一行说

 prefix=/path/to/new/location