2016-03-31 3 views
2

をインストールするときに、これが起こっている:NPM依存性の問題...よく、ほとんど何でも突然

$ npm install history 
npm ERR! Linux 3.13.0-76-generic 
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "history" 
npm ERR! node v4.4.0 
npm ERR! npm v2.14.20 
npm ERR! code EPEERINVALID 

npm ERR! peerinvalid The package [email protected] does not satisfy its siblings' peerDependencies requirements! 
npm ERR! peerinvalid Peer [email protected] wants [email protected]^1.17.0 

...私は、よく、ほとんど何をインストールしようとします。 react-bootstrapをインストールしようとしましたが、このエラーが発生し、履歴をアップグレードしようとしました。私はここで何をすべきか分からない。

私はnpm i -S [email protected]を無駄にしようとしました。同じエラー。感謝

"dependencies": { 
    "bootstrap-loader": "1.0.9", 
    "bootstrap-sass": "3.3.6", 
    "connect-history-api-fallback": "1.1.0", 
    "css-loader": "0.23.1", 
    "font-awesome": "4.5.0", 
    "font-awesome-webpack": "0.0.4", 
    "node-sass": "3.4.2", 
    "object-assign": "4.0.1", 
    "react": "0.14.7", 
    "react-dom": "0.14.7", 
    "react-redux": "4.4.0", 
    "react-router": "2.0.0", 
    "redux": "3.3.1", 
    "redux-api-middleware": "1.0.1", 
    "redux-thunk": "2.0.1", 
    "resolve-url-loader": "1.4.3", 
    "sass-loader": "3.2.0", 
    "style-loader": "0.13.0", 
    "url-loader": "0.5.7" 
    }, 
    "devDependencies": { 
    "babel-cli": "6.5.1", 
    "babel-core": "6.5.1", 
    "babel-eslint": "5.0.0", 
    "babel-loader": "6.2.3", 
    "babel-plugin-react-display-name": "2.0.0", 
    "babel-plugin-react-transform": "2.0.0", 
    "babel-preset-es2015": "6.5.0", 
    "babel-preset-react": "6.5.0", 
    "babel-preset-stage-1": "6.5.0", 
    "browser-sync": "2.11.1", 
    "chai": "3.4.1", 
    "cheerio": "0.19.0", 
    "colors": "1.1.2", 
    "cross-env": "1.0.7", 
    "css-loader": "0.23.1", 
    "eslint": "2.2.0", 
    "eslint-loader": "1.3.0", 
    "eslint-plugin-react": "4.0.0", 
    "extract-text-webpack-plugin": "1.0.1", 
    "file-loader": "0.8.5", 
    "mocha": "2.3.4", 
    "node-sass": "3.4.2", 
    "parallelshell": "2.0.0", 
    "react-transform-catch-errors": "1.0.1", 
    "react-transform-hmr": "1.0.1", 
    "redbox-react": "1.2.0", 
    "rimraf": "2.5.0", 
    "sass-loader": "3.1.2", 
    "style-loader": "0.13.0", 
    "watch": "0.17.1", 
    "webpack": "1.12.11", 
    "webpack-dev-middleware": "1.4.0", 
    "webpack-hot-middleware": "2.6.0", 
    "yargs": "3.32.0" 
    }, 

すべてのヘルプ:

は、ここに私のpackage.jsonです。

+0

あなたはあなたのpackage.jsonを貼り付けることができますか? –

+0

質問に追加されました。 – charlie

+0

私はこれを試して、動作します、私はノードバージョン 'v4.2.4'とnpmバージョン' 2.14.12'を使用しています。 –

答えて

2

どういうわけか、いくつかのバージョンのワイヤが交差しているように見えます。 node_modulesディレクトリrm -r node_modulesを削除し、npm installを再インストールして修正しました。

+1

これはNPMのアーキテクチャの信じられないほど微妙で厄介な部分です。あなたは[npm Non-determinism](https://docs.npmjs.com/how-npm-works/npm3-nondet)を読むことができます(基本的にdepsのインストール順序は 'node_modules'ディレクトリ構造に影響します) 。 npmチームは、この依存関係ツリー構造がアプリケーションに影響を及ぼしてはならないと主張していますが、あなたの経験(そして私のもの)を考えれば、これは実際には真実ではないと強く思っています。 'node_modules'フォルダを随時爆破して、新しいコードをインストールするのは悪い考えではありません。特に、コードを共有している場合や、リモートインストールを行う場合にはそうです。 – Andrew