50

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$ 
Nurdin
  • 23,382
  • 43
  • 130
  • 308

16 Answers16

74

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!!!

S.Yadav
  • 4,273
  • 3
  • 37
  • 44
55

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.

Chanuka Asanka
  • 2,798
  • 3
  • 24
  • 36
25

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.

Jesús Carrera
  • 11,275
  • 4
  • 63
  • 55
11

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

Worked for me the following:

npm install -g cordova

ionic cordova platform list

Sorin Veștemean
  • 1,772
  • 19
  • 17
4

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

QuickFix
  • 11,661
  • 2
  • 38
  • 50
1

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

user3302142
  • 11
  • 1
  • 3
1
  1. run ionic serve
  2. It will create www folder
  3. Then run cordova prepare
Mickael Maison
  • 25,067
  • 7
  • 71
  • 68
1
ionic integrations enable --add

then run the

ionic build

it will add all the necessary files

1

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

Mahmud
  • 141
  • 2
  • 7
0

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\

Adam Cox
  • 3,341
  • 1
  • 36
  • 46
0

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

0

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.

Alon Bar
  • 482
  • 9
  • 10
0

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
Bryan Lim
  • 191
  • 1
  • 6
-1

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

jjd
  • 2,158
  • 2
  • 18
  • 31
-1

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

dazzafact
  • 2,570
  • 3
  • 30
  • 49
-2

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

example screen shot

Jérémie B
  • 10,611
  • 1
  • 26
  • 43