在尝试安装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>
答案 0 :(得分:7)
C:\Users\James\AppData\Roaming\npm\
可能不在您的路径中,所以即使全局安装了cordova(因为npm定义了它),它也无法按预期工作。
使用SET
命令检查NODE_PATH
或PATH
的值。如果未列出npm目录树...这是一个问题,但很容易修复。
如果您不希望npm保存到此目录,请检查npm configuration options和npm 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
。希望它有所帮助☺☺☺