node.js - NPM install -g cordova ionic 给出 Err -13

标签 node.js cordova npm ionic-framework hybrid-mobile-app

我正在尝试使用 npm 安装 ionic(或任何东西),但每次都会出错。以下是我尝试安装 ionic 时遇到的错误的副本。

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

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/管理员身份执行安装

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

关于node.js - NPM install -g cordova ionic 给出 Err -13,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30415836/

相关文章:

javascript - jsdom不支持svg?

javascript - 为什么在使用 RequireJS 运行 Mocha 测试时会看到 "define not defined"?

node.js - 读取包 : graceful-fs\package. json 时出错

node.js - 安装 Node 包类型的最快方法?

node.js - 向 Mongoose 注册模型的正确方法

html - iOS11 + Webview - 滚动div中的图像消失,不要回来

android - 始终保持灯亮并禁用手机锁定 - Phonegap

android - 如何在 jquery mobile 上使用自定义图标?

node.js - 使用 Karma 进行 AngularJS 测试

javascript - 如何正确使用 Chalk Terminal 字符串样式