Grunt dependencies conflicts in Bootstrap

node.jsTwitter BootstrapGruntjsNpm

node.js Problem Overview


I've downloaded Bootstrap source files from the official website and I'm getting dependency conflicts when installing the project using node's npm. I have grunt 0.4.3 installed on my machine but some bootstrap dependencies require 0.4.0 and some 0.4.1.

The npm install -g grunt-cli command executed without any problems. Here's the log that I'm getting after executing npm install command:

npm ERR! peerinvalid The package grunt does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer grunt-banner@0.2.1 wants grunt@~0.4.1
npm ERR! peerinvalid Peer grunt-contrib-clean@0.5.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-concat@0.3.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-connect@0.6.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-copy@0.5.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-csslint@0.2.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-cssmin@0.7.0 wants grunt@~0.4.1
npm ERR! peerinvalid Peer grunt-contrib-jade@0.9.1 wants grunt@~0.4.1
npm ERR! peerinvalid Peer grunt-contrib-jshint@0.8.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-less@0.9.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-qunit@0.4.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-uglify@0.3.3 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-watch@0.5.3 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-csscomb@2.0.1 wants grunt@~0.4.2
npm ERR! peerinvalid Peer grunt-exec@0.4.3 wants grunt@~0.4
npm ERR! peerinvalid Peer grunt-html-validation@0.1.13 wants grunt@~0.4.1
npm ERR! peerinvalid Peer grunt-jekyll@0.4.1 wants grunt@~0.4.1
npm ERR! peerinvalid Peer grunt-jscs-checker@0.3.2 wants grunt@0.4.2
npm ERR! peerinvalid Peer grunt-saucelabs@5.0.1 wants grunt@~0.4.1
npm ERR! peerinvalid Peer grunt-sed@0.1.1 wants grunt@~0.4

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd C:\Users\\Desktop\bootstrap-3.1.1
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.5
npm ERR! code EPEERINVALID
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\\Desktop\bootstrap-3.1.1\npm-debug.log
npm ERR! not ok code 0

I'm following these installation steps.

How do I install this project cleanly, without any errors?

node.js Solutions


Solution 1 - node.js

I ran into this problem this morning too. I ended up changing line 30 in Bootstrap's package.json file: from "~0.4.2" to "0.4.2":

27  "devDependencies": {
...
30    "grunt" : "0.4.2"

This means that 0.4.3 no longer matches the dependency spec but it also means you won't install new versions of grunt later. It's enough to get things working but you should probably change it back eventually (maybe in your next bootstrap project leave it alone).

Solution 2 - node.js

I encountered the same problem. Performing the following:

bower install bootstrap
cd bower_components/bootstrap
npm install

Resulted in:

npm ERR! peerinvalid The package grunt does not satisfy 
   its siblings' peerDependencies requirements!

I resolved this by first uninstalling grunt from the bootstrap directory

npm uninstall grunt

Then I installed grunt 0.4.2

npm install grunt@0.4.2

This time, npm install worked just fine

npm install

Solution 3 - node.js

this problem is peerDependencies for grunt
If you want to know this issue, then go to this url
http://blog.nodejs.org/2013/02/07/peer-dependencies/

this is solution to solve it's problem
step1 : You open the package.json in root directory
step2 : find the string "grunt" : "~0.4.2"
step3 : Modify to "grunt": "0.4.2"
step4 : $ npm install

Solution 4 - node.js

You may have Grunt 0.4.3 installed globally but nothing installed locally.

  1. Run $ grunt --version to find which version you are on (not a necessary step).

  2. Create a package.json file in the root of the folder you mean to have your project on.

     {
         "name" : "MyProject",
         "version" : "0.1.0",
         "author" : "My name",
         "private" : true,
     
         "devDependencies" : {
             "grunt" : "~0.4.2"
         }
     }
    
  3. Run $ npm install while at the project's root folder.

Done!

--- UPDATE ---

You could use Bower to install Bootstrap for you. It makes cumbersome installations a breeze. Bootstrap's Getting Started guide advises using it!

$ bower install bootstrap

Here is a blog post that might be relevant to you: Using Grunt + Bower with Laravel and Bootstrap

Or you could always opt to let Grunt manage the installation of Bootstrap and maintain it as a dependency... There are several plugins out there that do the heavy-lifting.

Solution 5 - node.js

I had this problem too.

I installed bootstrap using git clone https://github.com/twbs/bootstrap.git and it worked fine from that resulting bootstrap directory.

Solution 6 - node.js

Try npm cache clean and then try install command again.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionrpozarickijView Question on Stackoverflow
Solution 1 - node.jsjoeblubaughView Answer on Stackoverflow
Solution 2 - node.jsRobV8RView Answer on Stackoverflow
Solution 3 - node.jskazikaiView Answer on Stackoverflow
Solution 4 - node.jsWallace SidhréeView Answer on Stackoverflow
Solution 5 - node.jsjaydiscView Answer on Stackoverflow
Solution 6 - node.jsShoaib IqbalView Answer on Stackoverflow