Cordova安装出错

时间:2016-02-16 04:39:56

标签: cordova ionic2

当我使用sudo在Mac上安装时,它似乎已安装,但实际上并不是因为我尝试获取版本号。 这影响了我使用离子1和离子2的能力。我无法使用离子模拟ios'

$ sudo npm install -g cordova
npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
/usr/local/bin/cordova ->    /usr/local/lib/node_modules/cordova/bin/cordova
cordova@6.0.0 /usr/local/lib/node_modules/cordova
├── underscore@1.7.0
├── q@1.0.1
├── ansi@0.3.1
├── nopt@3.0.1 (abbrev@1.0.7)
├── update-notifier@0.5.0 (is-npm@1.0.0, semver-diff@2.1.0, string-length@1.0.1, chalk@1.1.1, repeating@1.1.3, configstore@1.4.0, latest-version@1.0.1)
└── cordova-lib@6.0.0 (valid-identifier@0.0.1, opener@1.4.1, properties-parser@0.2.3, semver@4.3.6, nopt@3.0.6, dep-graph@1.1.0, shelljs@0.3.0, xcode@0.8.0, npmconf@2.1.2, request@2.47.0, cordova-serve@1.0.0, aliasify@1.9.0, tar@1.0.2, cordova-app-hello-world@3.10.0, init-package-json@1.9.3, cordova-js@4.1.3, npm@2.14.19)

但是当我尝试获取版本号时出现错误

$ cordova --v
/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:53
            throw err;
            ^

Error: EACCES: permission denied, open    '/Users/syedtariq/.config/configstore/update-notifier-cordova.json'
You don't have access to this file.

at Error (native)
at Object.fs.openSync (fs.js:549:18)
at Object.fs.readFileSync (fs.js:397:15)
at Object.create.all.get (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:34:26)
at Object.Configstore (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:27:44)
at new UpdateNotifier (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/index.js:34:17)
at module.exports (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/index.js:123:23)
at checkForUpdates (/usr/local/lib/node_modules/cordova/src/cli.js:64:20)
at cli (/usr/local/lib/node_modules/cordova/src/cli.js:116:5)
at Object.<anonymous> (/usr/local/lib/node_modules/cordova/bin/cordova:41:1)

4 个答案:

答案 0 :(得分:0)

可能有不良残留物。

您是否尝试sudo npm uninstall -g cordova然后sudo npm install -g cordova

答案 1 :(得分:0)

检查npm和节点的版本。 Npm版本2.14.7和节点版本4.2.3对于安装cordova和离子源是稳定的。下载最新版本的节点时,我遇到了很多关于cordova安装的问题。

答案 2 :(得分:0)

就我而言,npm已在~/.npm-global/bin中安装了节点包。这不在PATH中。当我将此添加到PATH时,错误已得到纠正。 npm有一个命令npm bin -g,显示安装节点包的文件夹。该命令还指出该文件夹不在路径中。这就是我找出错误原因和所需更正的原因。

我看过很多关于是否使用sudo的评论。在Mac上,除非安装了sudo,否则npm install将无法完成而不会出现错误。但是,在npm文档中,他们似乎指出可以这样做。如果npm insatll不起作用,通常会发出包装说明并告诉你使用sudo。

答案 3 :(得分:0)

$ sudo chmod -R 777 '/Users/{username}/.config/configstore/update-notifier-cordova.json'
$ No such file or directory
$ sudo chmod -R 777 '/Users/{username}/.config/'
$ sudo npm update  -g cordova
$ cordova -v 
6.0.0