安装后立即无法识别Cordova

时间:2013-12-27 14:20:58

标签: node.js cordova cmd cordova-3

在尝试安装Apache Cordova时,我遇到了这个非常令人沮丧的问题。我在我的npm install -g cordova(Windows 8.1,64位)中发出cmd,一切似乎都没问题。但即使在尝试键入cordova后安装,它也不会被cmd识别为命令。这是我在StackOverflow上的第一个问题,所以我可能错过了一些关键的东西或者犯了一个noob错误。我希望有人可以帮助我! :)

干杯,

cmd会话:

C:\Users\James>npm install -g cordova
npm http GET https://registry.npmjs.org/cordova

......这里有一堆文字......

C:\Users\James\AppData\Roaming\npm\cordova -> C:\Users\James\AppData\Roaming\npm
\node_modules\cordova\bin\cordova
cordova@3.3.1-0.1.2 C:\Users\James\AppData\Roaming\npm\node_modules\cordova
├── ncallbacks@1.0.0
├── open@0.0.3
├── semver@1.1.0
├── colors@0.6.2
├── mime@1.2.11
├── q@0.9.7
├── follow-redirects@0.0.3 (underscore@1.5.2)
├── optimist@0.6.0 (wordwrap@0.0.2, minimist@0.0.5)
├── shelljs@0.1.2
├── glob@3.2.7 (inherits@2.0.1, minimatch@0.2.14)
├── lodash@2.4.1
├── elementtree@0.1.5 (sax@0.3.5)
├── tar@0.1.19 (inherits@2.0.1, block-stream@0.0.7, fstream@0.1.25)
├── xcode@0.6.2 (node-uuid@1.3.3, pegjs@0.6.2)
├── prompt@0.2.7 (revalidator@0.1.6, pkginfo@0.3.0, read@1.0.5, utile@0.1.7, win
ston@0.6.2)
├── request@2.22.0 (json-stringify-safe@4.0.0, aws-sign@0.3.0, forever-agent@0.5
.0, qs@0.6.6, tunnel-agent@0.3.0, oauth-sign@0.3.0, cookie-jar@0.3.0, node-uuid@
1.4.1, http-signature@0.10.0, hawk@0.13.1, form-data@0.0.8)
├── express@3.0.0 (methods@0.0.1, fresh@0.1.0, range-parser@0.0.4, debug@0.7.4,
cookie@0.0.4, crc@0.2.0, commander@0.6.1, mkdirp@0.3.3, send@0.1.0, connect@2.6.
0)
├── plist@0.4.3 (xmlbuilder@0.4.3, xmldom@0.1.17)
├── ripple-emulator@0.9.18 (connect-xcors@0.5.2, colors@0.6.0-1, accounting@0.3.
2, request@2.12.0, moment@1.7.2, express@3.1.0)
├── npm@1.3.22
├── plugman@0.17.0 (ncallbacks@1.1.0, osenv@0.0.3, bplist-parser@0.0.4, undersco
re@1.4.4, semver@2.0.11, nopt@1.0.10, dep-graph@1.1.0, rc@0.3.0, tar.gz@0.1.1, x
code@0.6.3, npm@1.3.4)
└── jshint@1.1.0 (peakle@0.0.1, cli@0.4.5, underscore@1.4.4, esprima@1.1.0-dev,
minimatch@0.2.14)

C:\Users\James>cordova
'cordova' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\James>cordova
'cordova' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\James>

5 个答案:

答案 0 :(得分:7)

C:\Users\James\AppData\Roaming\npm\可能不在您的路径中,所以即使全局安装了cordova(因为npm定义了它),它也无法按预期工作。

使用SET命令检查NODE_PATHPATH的值。如果未列出npm目录树...这是一个问题,但很容易修复。

如果您不希望npm保存到此目录,请检查npm configuration optionsnpm folders docs,看看您可以在这方面做些什么改变......

答案 1 :(得分:4)

我在“成功”安装后遇到了这个问题,并在我的users文件夹中的一个名为node modules的文件夹下找到了cordova文件。我在路径中添加了c:\users\dewd\node_modules\cordova\bin,重新启动了cmd提示符,然后cordova运行正常。

他们不喜欢让他们轻松做到!!

答案 2 :(得分:2)

将此添加到您的路径

C:\Users\<USERNAME>\AppData\Roaming\npm\node_modules\cordova\bin

默认情况下,文件夹

C:\Users\<USERNAME>\AppData 

不可见。配置资源管理器以查看它或浏览CLI

答案 3 :(得分:2)

如果仍然无法正常工作,请检查PATH。

确保订单是节点; NPM;科尔多瓦

PATH的例子

%JAVA_HOME%\bin;
%ANT_HOME%\bin;
%NODEJS%;
%NPM%;
C:\Program Files (x86)\WinAnt\bin;
C:\Program Files (x86)\Git\bin;
C:\Program Files (x86)\Git\cmd;
%CORDOVA%

要非常干净,请创建一个新的系统变量NODEJS NPM CORDOVA

NODEJS="C:\Program Files\Nodejs"

NPM'="%appdata%\npm\;%USERPROFILE%\AppData\Roaming\npm;"

CORDOVA="%USERPROFILE%\AppData\Roaming\npm\node_modules\cordova\bin"

然后在系统变量中编辑PATH,并在最后添加%NODEJS%%NPM%后在使用nodejs的任何内容之前添加%CORDOVA%

答案 4 :(得分:1)

这里已经多次回答了......尽管如此,我还是会发布我的答案。

在提示/终端中输入:npm config set prefix。希望它有所帮助☺☺☺