【问题标题】:Cordova - Current working directory is not a Cordova-based projectCordova - 当前工作目录不是基于 Cordova 的项目
【发布时间】:2014-02-12 02:51:47
【问题描述】:

我正在为我的移动项目使用 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$ 

【问题讨论】:

    标签: cordova phonegap-plugins


    【解决方案1】:

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

    很容易解决,下面是步骤-

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

    "./www"
    

    也可以通过这个命令来做-

    mkdir www
    

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

    ionic platform add android
    or
    ionic platform add ios
    

    希望对你有帮助!!!

    【讨论】:

      【解决方案2】:

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

      mkdir www
      

      确保您的 .gitignore 文件不包含 www/ 目录。

      【讨论】:

      • 是的,有人将www/ 放入 gitignore 并修复了它。
      • 我用来部署我的应用程序的自定义脚本意外地将www 目录移出项目根目录。这个答案帮助我注意到丢失的文件夹。
      【解决方案3】:

      是的,正如 QuickFix 所说,您需要在 Cordova 项目中才能使用大多数 cordova 命令。如果您对 Cordova 项目的定义感到好奇,我发现了以下内容:

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

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

      【讨论】:

        【解决方案4】:

        也发生在我身上,可能来自 npm/node 更新。

        为我工作了以下内容:

        npm install -g cordova

        ionic cordova platform list

        【讨论】:

          【解决方案5】:

          在启动 cordova plugin search bar code 之前,您必须在一个项目中。

          【讨论】:

          • 怎么做?你能给我一个场景吗?
          【解决方案6】:

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

          【讨论】:

            【解决方案7】:
            1. 运行ionic serve
            2. 它将创建 www 文件夹
            3. 然后运行cordova prepare

            【讨论】:

              【解决方案8】:

              我也遇到了同样的问题。我有一个角度项目。然后在里面创建了一个名为mobile的cordova应用程序

              cordova create mobile
              

              然后我尝试运行

              cordova platform add android
              

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

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

              【讨论】:

                【解决方案9】:

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

                通过创建所需的(和缺失的)文件夹“www\”解决,使用具有脚本的 powershell:

                New-Item -ItemType directory -Path www\

                【讨论】:

                  【解决方案10】:

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

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

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

                  E:\Andriod\myapp>cd newapp

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

                  它会在这一点上工作

                  【讨论】:

                    【解决方案11】:
                    ionic integrations enable --add
                    

                    然后运行

                    ionic build
                    

                    它将添加所有必要的文件

                    【讨论】:

                      【解决方案12】:

                      这可能很愚蠢,但在我的情况下,它是 config.xml 文件。

                      我通常使用脚本动态创建它,因此在我克隆 repo 后它不存在。运行脚本以重新创建它,一切都恢复正常。

                      【讨论】:

                        【解决方案13】:

                        使用

                        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
                        

                        【讨论】:

                          【解决方案14】:

                          这个解决方案帮助了我: 通过 cmd 转到项目的根目录并运行。

                          npm run build-cordova
                          

                          然后创建新的安卓平台

                          cordova platform rm android cordova platform add android

                          【讨论】:

                            【解决方案15】:

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

                            【讨论】:

                              【解决方案16】:

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

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 1970-01-01
                                • 2019-03-07
                                • 2015-08-28
                                • 2015-05-22
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                相关资源
                                最近更新 更多