Ionic 和 Cordova 已安装,但命令无法识别

Posted

技术标签:

【中文标题】Ionic 和 Cordova 已安装,但命令无法识别【英文标题】:Ionic and Cordova is installed but commands not recognized 【发布时间】:2016-01-01 02:19:17 【问题描述】:

我全局安装了 ionic 和 cordova,但无法识别命令。

我正在使用 Win 7 - 64 位 安装了最新的 Nodejs

这是安装日志:

$ npm install -g cordova
npm WARN engine xmlbuilder@2.2.1: wanted: "node":"0.8.x || 0.10.x" (current: "node":"4.1.1","npm":"2.14.4")
C:\Program Files\Git\usr\local\cordova -> C:\Program Files\Git\usr\local\node_modules\cordova\bin\cordova
cordova@5.3.3 C:\Program Files\Git\usr\local\node_modules\cordova
├── underscore@1.7.0
├── q@1.0.1
├── nopt@3.0.1 (abbrev@1.0.7)
└── cordova-lib@5.3.3 (valid-identifier@0.0.1, unorm@1.3.3, osenv@0.1.0, properties-parser@0.2.3, bplist-parser@0.0.6, semver@4.3.6, shelljs@0.3.0, cordova-app-hello-world@3.9.0, dep-graph@1.1.0, rc@0.5.2, elementtree@0.1.6, xcode@0.8.0, glob@5.0.15, npmconf@2.1.2, tar@1.0.2, cordova-serve@0.1.3, request@2.47.0, aliasify@1.7.2, cordova-registry-mapper@1.1.12, init-package-json@1.9.1, plist@1.1.0, cordova-js@4.1.1, npm@2.14.7)


$ npm install -g ionic
npm WARN engine cordova-js@4.0.0: wanted: "node":"~0.10.x" (current: "node":"4.1.1","npm":"2.14.4")
npm WARN engine npm@1.3.4: wanted: "node":">=0.6","npm":"1" (current: "node":"4.1.1","npm":"2.14.4")
npm WARN engine xmlbuilder@2.2.1: wanted: "node":"0.8.x || 0.10.x" (current: "node":"4.1.1","npm":"2.14.4")
npm WARN installMany normalize-package-data was bundled with npm@1.3.4, but bundled package wasn't found in unpacked tree
C:\Program Files\Git\usr\local\ionic -> C:\Program Files\Git\usr\local\node_modules\ionic\bin\ionic
ionic@1.6.5 C:\Program Files\Git\usr\local\node_modules\ionic
├── connect-livereload@0.5.2
├── underscore@1.7.0
├── proxy-middleware@0.7.0
├── progress@1.1.7
├── open@0.0.5
├── colors@0.6.2
├── q@1.0.1
├── async@0.9.2
├── crc@3.2.1
├── ncp@0.4.2
├── semver@4.3.6
├── shelljs@0.2.6
├── cross-spawn@0.2.3 (lru-cache@2.7.0)
├── optimist@0.6.0 (wordwrap@0.0.3, minimist@0.0.10)
├── cli-table@0.3.1 (colors@1.0.3)
├── finalhandler@0.2.0 (escape-html@1.0.1, debug@2.0.0)
├── connect@3.1.1 (utils-merge@1.0.0, parseurl@1.3.0, finalhandler@0.1.0, debug@1.0.4)
├── form-data@0.1.4 (mime@1.2.11, combined-stream@0.0.7)
├── event-stream@3.0.20 (pause-stream@0.0.11, stream-combiner@0.0.4, from@0.1.3, duplexer@0.1.1, split@0.2.10, through@2.3.8, map-stream@0.0.6)
├── opbeat-ionic@1.1.3 (console-log-level@1.1.2, json-stringify-safe@5.0.1, stackman@0.2.3, after-all@2.0.2)
├── serve-static@1.7.1 (utils-merge@1.0.0, escape-html@1.0.1, parseurl@1.3.0, send@0.10.1)
├── tiny-lr-fork@0.0.5 (debug@0.7.4, qs@0.5.6, faye-websocket@0.4.4, noptify@0.0.3)
├── request@2.51.0 (forever-agent@0.5.2, aws-sign2@0.5.0, caseless@0.8.0, tunnel-agent@0.4.1, oauth-sign@0.5.0, stringstream@0.0.4, json-stringify-safe@5.0.1, mime-types@1.0.2, qs@2.3.3, node-uuid@1.4.3, tough-cookie@2.0.0, combined-stream@0.0.7, http-signature@0.10.1, form-data@0.2.0, bl@0.9.4, hawk@1.1.1)
├── vinyl-fs@0.3.7 (graceful-fs@3.0.8, lodash@2.4.2, strip-bom@1.0.0, vinyl@0.4.6, mkdirp@0.5.1, through2@0.6.5, glob-stream@3.1.18, glob-watcher@0.0.6)
├── unzip@0.1.9 (setimmediate@1.0.2, readable-stream@1.0.33, pullstream@0.4.1, match-stream@0.0.2, binary@0.3.0, fstream@0.1.31)
├── prompt@0.2.12 (revalidator@0.1.8, pkginfo@0.3.0, read@1.0.7, utile@0.2.1, winston@0.6.2)
├── gulp@3.8.8 (interpret@0.3.10, pretty-hrtime@0.2.2, deprecated@0.0.1, archy@0.0.2, minimist@1.2.0, semver@3.0.1, tildify@1.1.1, chalk@0.5.1, orchestrator@0.3.7, gulp-util@3.0.6, liftoff@0.12.1)
├── cheerio@0.19.0 (entities@1.1.1, dom-serializer@0.1.0, css-select@1.0.0, htmlparser2@3.8.3, lodash@3.10.1)
├── xml2js@0.4.4 (sax@0.6.1, xmlbuilder@3.1.0)
├── npm@2.1.3
└── ionic-app-lib@0.3.9 (vinyl-fs@1.0.0, archiver@0.5.2, ionic-cordova-lib@5.1.7)


$ cordova
bash: cordova: command not found


$ ionic
bash: ionic: command not found

这是我的系统环境路径中的变量列表:

C:\Users\\AppData\Roaming\npm;C:\Program Files\nodejs;
C:\Program Files\nodejs\node_modules\npm;
C:\android;C:\Android\sdk;
C:\Android\sdk\platforms;
C:\Android\sdk\platform-tools;
C:\Android\sdk\tools;
C:\Android\sdk\platforms\android-19;
C:\Android\sdk\platforms;
C:\Android\sdk\platforms-tools;
C:\Program Files\Java\jdk1.8.0_60\bin;
C:\Android\sdk\tools;
C:\apache-ant-1.9.6\bin;
C:\Program Files\nodejs;
C:\Android\sdk\system-images;

到目前为止我所做的修复都没有运气:

    重新安装nodejs npm 缓存清理 手动清除 npm-cache 文件夹并安装 ionic + cordova

我有什么遗漏的吗?为什么我不能使用 ionic?

如果需要额外的信息,请告知:)

附:我在这里和 ionic 论坛中尝试了许多关于同一问题的主题,但没有一个修复有效,这就是我决定提出自己的主题的原因!

提前致谢!

【问题讨论】:

您是否尝试在 Node 0.10 上运行它?试着说出你得到了什么。 安装这个稳定版本:nodejs.org/en/blog/release/v0.10.36 并重新安装了 ionic 和 cordova,仍然得到 command not found 错误:( 从您的系统中卸载所有并从应用数据文件夹中清除 npm 文件夹。然后安装最新的 git 和 node js 并尝试为 cordova 和 ionic cli install 命令 @cfprahbu :我卸载了 git 和 node,然后我删除了所有文件夹(Git、npm、npm 缓存、.ionic、.cordova)并安装了最新版本的 git 和 nodejs,重新启动了我的电脑。 ..在 bash 上输入“npm install -g ionic cordova”。现在一切正常!非常感谢! :D :D 【参考方案1】:

如果您使用的是 Windows,请使用 Git Bash shell 并在调用 cordova 和 ionic 时遇到问题, 也许你必须添加一个路径值 c:\users[你的用户名].bash_profile 这有助于将 windows 路径与 git bash shell 路径进行比较: Git Bash doesn't see my PATH 对我来说,有全局路径,但没有用户路径。我不得不补充: PATH=$PATH:/c/Program Files (x86)/Microsoft VS Code/bin:/C/Users/[我的用户名]/AppData/Roaming/npm

【讨论】:

以上是关于Ionic 和 Cordova 已安装,但命令无法识别的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 设备列表在 ionic/cordova 项目中为空

Ionic 3:更新 Cordova 等后无法构建 Android

Ionic Cordova构建android无法正常工作

为啥我不能在窗口 8.1 中通过命令提示符安装 cordova 和 ionic

怎么卸载重装ionic cordova

工具相关ionic-通过nmp安装最新版本的 cordova 和 ionic