Nair
Nair

Reputation: 7458

What is causing 'grunt serve' to throw 'No Bower components found'?

I am starting out angular app with angular-fullstack in my Windows 7 box. I installed bunch of npm packages with -g options, including grunt-bower-install. I created the application first by running

yo angular-fullstack appname

There were no exception during the application creation. After application was created successfully I tried to run the app using

grunt serve

expecting the server to run. But the 'grunt serve' failed with

Running "bower-install:app" (bower-install) task Cannot find where you keep your Bower packages.

We tried looking for a .bowerrc file, but couldn't find a custom directory property defined. We then tried bower_components, but it looks like that doesn't exist either. As a last resort, we tried the pre-1.0 components directory, but that also couldn't be found.

Unfortunately, we can't proceed without knowing where the Bower packages you have installed are.

Fatal error: No Bower components found.

I did find .bowerrc file and it was pointing to app/bower_components. Unfortunately, bower_components file was no where to be found. I am not sure what should be the content of the file to create it myself. Is it the missing file causing this problem or is there a npm package, I did not install correctly?

Thanks

Upvotes: 54

Views: 66745

Answers (9)

Nina
Nina

Reputation: 1

npm install -g bower
bower install
grunt serve

It's worked too

Upvotes: -1

Gautham V kidiyoor
Gautham V kidiyoor

Reputation: 61

npm install -g bower
bower install
grunt serve

worked for me ...

Upvotes: 1

Anup B
Anup B

Reputation: 87

Try to do bower install. If its failing saying not able to connect to git then you can change repo pointing location by simply running below command

$ git config --global url.https://github.com/.insteadOf git://github.com/ 

This will ensure that you will be downloaded over https instead of git if its causing orginasation firewall to block it.

Upvotes: 3

Aditya Singh Parmar
Aditya Singh Parmar

Reputation: 310

The Bower installation requires the packages to be brought from the Git repository, so first you need to install the Git application in your system. You can download it from this link :https://git-scm.com/downloads . Now after your have downloaded it , there may be a chance that the PATH may not be set up, so go to ControlPanel -> System and Security -> System -> Advance System Settings (on the left-hand side), click it, then goto Environment Variables -> System Variables -> PATH , click edit , and write down the following paths :

;C:\Users\admin\AppData\Local\Programs\Git\bin; C:\Users\admin\AppData\Local\Programs\Git\cmd ....Well the above path is where Git was installed in my system, you can crawl to the place in your system where Git was installed and select the paths from the "bin" and "cmd" folder and paste it on the PATH variable.

Now, after the GIT path is setup, you can now type in the command " $ bower install " , this will install all of your bower packages.

Upvotes: 1

Iliass
Iliass

Reputation: 567

npm install -g bower doesn't install bower components, you should run as well bower install to have all bower's components installed and then run grunt serve. It should work fine

Upvotes: 5

iamapj
iamapj

Reputation: 11

In my case, I added sudo for it to work. So, I ran sudo npm install -g bowerand then bower install. grunt serve then worked when I ran it.

Upvotes: 1

Pankaj C.
Pankaj C.

Reputation: 139

I faced the same problem but only did npm install -g bower and then bower install and got grunt serve working.

I did not need to do any of the things mentioned by Olga.

Hope this helps.

Upvotes: 12

Olga Gnatenko
Olga Gnatenko

Reputation: 790

I had the same issue, here's what worked in my case:

  1. installed ruby and compass (yeoman needs these)
  2. verified that path to Ruby bin folder is added to %PATH%
  3. installed Git
  4. restarted cmd window and ran "bower install" in the app folder

After that, grunt serve command worked perfectly. Note: maybe installing Git and running bower install would suffice in your case.

Upvotes: 44

James van Dyke
James van Dyke

Reputation: 5070

Confusingly, the grunt-bower-install task that comes with angular-fullstack doesn't install bower components. It doesn't install anything. This error is trying to let you know that it can't find the bower_components directly, so it can't do its thing.

To fix the issue, run bower install.

If you don't have Bower installed, run npm install -g bower first.

Upvotes: 70

Related Questions