我正在尝试使用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
答案 0 :(得分:2)
由于您没有/usr/local
目录的写入权限,因此遇到了问题。有两种方法可以解决这个问题:
使用sudo
sudo npm install -g cordova ionic
您可以将/usr/local
目录(以及所有子目录)的所有权更改为当前用户,这通常是单个用户计算机上的一个很好的解决方案:
sudo chown -R $USER /usr/local
您可以递归更改目录上的文件权限以允许通用写访问(不太安全,但仍不太可能导致问题)
sudo chmod -R a+w /usr/local
或者,您可以更改npm install -g
命令安装内容的位置,但如果您想要访问命令,也可能需要使用PATH变量。要更改npm安装全局模块的位置,请输入npm config edit
,然后添加一行
prefix=/path/to/new/location