Cordova - 当前的工作目录不是基于Cordova的项目

时间:2014-01-22 07:03:09

标签: cordova phonegap-plugins

我正在为我的移动项目使用phonegap。我的问题是当我尝试使用cordova CLI搜索phonegap插件时出现此错误的原因?我在终端运行此命令来搜索phonegap插件

cordova plugin search bar code

完整的错误消息

Last login: Wed Jan 22 15:04:09 on ttys000
Mohammads-MacBook-Pro:~ mohammadnurdin$ cd /Applications/MAMP/htdocs/rmbp/apps/rmbp/iphone/native
Mohammads-MacBook-Pro:native mohammadnurdin$ cordova plugin search bar code

/usr/local/lib/node_modules/cordova/src/util.js:57
            throw new Error('Current working directory is not a Cordova-based 
                  ^
Error: Current working directory is not a Cordova-based project.
    at Object.module.exports.cdProjectRoot (/usr/local/lib/node_modules/cordova/src/util.js:57:19)
    at CLI.plugin (/usr/local/lib/node_modules/cordova/src/plugin.js:28:36)
    at new CLI (/usr/local/lib/node_modules/cordova/src/cli.js:109:30)
    at Object.<anonymous> (/usr/local/lib/node_modules/cordova/bin/cordova:41:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
Mohammads-MacBook-Pro:native mohammadnurdin$ 

15 个答案:

答案 0 :(得分:19)

是的,正如QuickFix所说,在能够使用大多数cordova命令之前,您需要进入Cordova项目。如果您对Cordova项目的定义感到好奇,那就是我发现的:

  • 有一个.cordova目录,里面有一个config.json。
  • 有一个www目录,里面有一个config.xml。
  • 有一个平台目录。

有了这些,您可以毫无问题地使用Cordoba命令。如果您需要这些配置文件的示例,请运行cordova create myapp

答案 1 :(得分:18)

如果您在 Ionic2 上收到此错误 当我们只是克隆/下载应用程序并尝试向其添加平台时,通常会出现此问题。

它很容易解决,然后是步骤 -

只需在应用程序根目录中创建一个“www”目录。

"./www"

也可以通过此命令执行 -

mkdir www

现在我们可以轻松运行以下命令 -

ionic platform add android
or
ionic platform add ios

希望它会有所帮助!!!

答案 2 :(得分:10)

解决方案是确保根目录中有www /目录。

mkdir www

答案 3 :(得分:7)

在发布cordova plugin search bar code之前,您必须在项目中。

答案 4 :(得分:3)

也可能发生在npm / node更新中。

为我工作以下内容:

npm install -g cordova

ionic cordova platform list

答案 5 :(得分:1)

在根目录上创建www文件夹。如果仍然存在问题,请检查离子信息并尝试升级

答案 6 :(得分:0)

  1. 运行ionic serve
  2. 它将创建www文件夹
  3. 然后运行cordova prepare

答案 7 :(得分:0)

您之所以来到这里是因为您的Azure DevOps(fka VSO / VSTS)Cordova构建管道任务失败,并显示“当前工作目录不是基于Cordova的项目”?

通过使用带有脚本的powershell创建所需(且缺少)文件夹'www \'来解决此问题:

New-Item -ItemType directory -Path www\

答案 8 :(得分:0)

使用create命令创建新项目后,需要将目录更改为要在其中构建应用程序的新创建项目。

例如 E:\ Andriod \ myapp> cordova创建newapp 创建一个新的cordova项目。

E:\ Andriod \ myapp> cordova构建 当前工作目录不是基于Cordova的项目。

E:\ Andriod \ myapp> cd newapp

E:\ Andriod \ myapp \ newapp> cordova构建

此时它将正常工作

答案 9 :(得分:0)

ionic integrations enable --add

然后运行

ionic build

它将添加所有必需的文件

答案 10 :(得分:0)

我也有同样的问题。我有一个棱角分明的项目。然后在手机内部创建了一个cordova应用

cordova create mobile

然后我尝试运行

cordova platform add android

这给了我同样的错误“当前工作目录不是基于Cordova的项目”。

解决方案:我必须转到移动文件夹(从命令提示符cd mobile),然后必须在此运行命令。此外,该移动文件夹中必须有一个www文件夹

答案 11 :(得分:0)

这可能很愚蠢,但就我而言,它是config.xml文件。

我通常使用脚本动态创建它,因此在克隆存储库后就不存在了。运行该脚本以重新创建它,然后一切又恢复正常。

答案 12 :(得分:0)

使用

ionic cordova build [platform]
ex. ionic cordova build android
or for ios 
ionic cordova build ios

它会自动创建 www 文件夹路径。 在此处查看更多命令 https://ionicframework.com/docs/cli/commands/cordova-build

[注意:确保安装了ionic和cordova

npm install -g ionic
npm install -g cordova

答案 13 :(得分:-1)

我无法解释错误的来源,但如果您正在寻找解决方案,则可能需要尝试使用plugman

答案 14 :(得分:-1)

您必须在命令提示符下处于当前项目中(示例项目名称为myapp)。

example screen shot