Nurdin
Nurdin

Reputation: 23883

Cordova - Current working directory is not a Cordova-based project

I'm using phonegap for my mobile project. My question is why I got this error when I try to search phonegap plugin using cordova CLI? I run this command in terminal to search phonegap plugin

cordova plugin search bar code

Full error message

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$ 

Upvotes: 52

Views: 101141

Answers (16)

dazzafact
dazzafact

Reputation: 2860

THis Solution helped me: go to Root of your Project via cmd and run.

npm run build-cordova

after that just create new android platforms

cordova platform rm android cordova platform add android

Upvotes: -1

Bryan Lim
Bryan Lim

Reputation: 601

Use

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

It will automatically create the www folder path. see more commands here https://ionicframework.com/docs/cli/commands/cordova-build

[Note: Make sure you install ionic and cordova

npm install -g ionic
npm install -g cordova

Upvotes: 0

Alon Bar
Alon Bar

Reputation: 492

This may be silly but in my case it was the config.xml file.

I usually create it dynamically using a script, therefor it wasn't there after I cloned the repo. Ran the script to re-create it and everything worked again.

Upvotes: 0

Sorin Veștemean
Sorin Veștemean

Reputation: 1920

Happened to me also, probably from npm/node updates.

Worked for me the following:

npm install -g cordova

ionic cordova platform list

Upvotes: 11

Mahmud
Mahmud

Reputation: 151

I also had the same problem. i had an angular project. then created a cordova app inside called mobile

cordova create mobile

Then i tried to run

cordova platform add android

Which gave me the same error 'Current working directory is not a Cordova-based project'.

Solution : i have to go to the mobile folder ( from the command prompt cd mobile ) then i had to run the command there. Also there had to be a www folder in that mobile folder

Upvotes: 1

Chamin  Thilakarathne
Chamin Thilakarathne

Reputation: 447

ionic integrations enable --add

then run the

ionic build

it will add all the necessary files

Upvotes: 1

Chanuka Asanka
Chanuka Asanka

Reputation: 3004

Solution is to make sure there's a www/ directory inside the root directory.

mkdir www

make sure your .gitignore file doesn't include www/ directory on it.

Upvotes: 59

kuldeep singh
kuldeep singh

Reputation: 1

Once you create a new project using the create command,you need to change the directory to the newly create project where you are going to build your app.

eg. E:\Andriod\myapp>cordova create newapp Creating a new cordova project.

E:\Andriod\myapp>cordova build Current working directory is not a Cordova-based project.

E:\Andriod\myapp>cd newapp

E:\Andriod\myapp\newapp>cordova build

it will be working at this point

Upvotes: 0

Adam Cox
Adam Cox

Reputation: 3661

Did you come here because your Azure DevOps (fka VSO/VSTS) Cordova build pipe task failed with "Current working directory is not a Cordova-based project"?

Resolved by creating the required (and missing) folder 'www\', with a powershell having script:

New-Item -ItemType directory -Path www\

Upvotes: 0

deepak ranjan
deepak ranjan

Reputation: 41

  1. run ionic serve
  2. It will create www folder
  3. Then run cordova prepare

Upvotes: 1

user3302142
user3302142

Reputation: 11

Create www folder on root directory. If still it's a issue check ionic info and try to upgrade

Upvotes: 1

you have to be in the current project in command prompt(example project name is myapp).

example screen shot

Upvotes: -2

S.Yadav
S.Yadav

Reputation: 4509

If you are getting this error on Ionic2
This issue generally occur when we just clone / download app and try to add platform to it.

its very easy to resolve, then here are the steps-

just create a "www" directory in application root.

"./www"

can also do by this command-

mkdir www

now we can easily run following command -

ionic platform add android
or
ionic platform add ios

Hope it will help!!!

Upvotes: 80

Jes&#250;s Carrera
Jes&#250;s Carrera

Reputation: 11425

Yes, as QuickFix said, you need to be in a Cordova project before being able to use most of cordova Commands. If you are curious about what defines a Cordova project, this is what I found:

  • Has a .cordova directory, with a config.json inside.
  • Has a www directory, with a config.xml inside.
  • Has a platforms directory.

With that in place you can use Cordoba commands without problem. If you need examples of those config files just run cordova create myapp.

Upvotes: 26

jjd
jjd

Reputation: 2288

I cannot explain the source of the error, but in case you are looking for a solution, you might want to try plugman instead.

Upvotes: -1

QuickFix
QuickFix

Reputation: 11721

You have to be in a project before you launch cordova plugin search bar code.

Upvotes: 4

Related Questions