2017-10-06 8 views
1

イムをnode_modules私はかなり奇妙だと思う何NPMはのピアが必要ですが、すべてのピアはpackage.jsonにあり、インストール上のNPMの問題に直面して

npm WARN [email protected] requires a peer of [email protected]^7.2.3 but none was installed. 
npm WARN [email protected] requires a peer of [email protected]^5.1.1 but none was installed. 
npm WARN [email protected] requires a peer of [email protected]>=0.14.0 <= 15 but none was installed. 
npm WARN [email protected] requires a peer of [email protected]>=0.14.0 <= 15 but none was installed. 

を言う私は私の中で、実際にそれらの依存関係を持っているということですpackage.jsonを開き、node_modulesフォルダ内でそれらを参照してください。

マイpackage.json:

{ 
    "name": "react-box", 
    "version": "0.1.0", 
    "private": true, 
    "devDependencies": { 
    "autoprefixer": "7.1.4", 
    "babel-core": "6.26.0", 
    "babel-eslint": "^8.0.1", 
    "babel-jest": "21.2.0", 
    "babel-loader": "7.1.2", 
    "babel-preset-react-app": "^3.0.3", 
    "case-sensitive-paths-webpack-plugin": "2.1.1", 
    "chalk": "2.1.0", 
    "connect-history-api-fallback": "1.3.0", 
    "cross-spawn": "5.1.0", 
    "css-loader": "0.28.7", 
    "detect-port": "1.2.1", 
    "dotenv": "4.0.0", 
    "eslint": "4.8.0", 
    "eslint-config-react-app": "^2.0.1", 
    "eslint-loader": "1.9.0", 
    "eslint-plugin-flowtype": "2.38.0", 
    "eslint-plugin-import": "2.7.0", 
    "eslint-plugin-jsx-a11y": "^6.0.2", 
    "eslint-plugin-react": "7.4.0", 
    "extract-text-webpack-plugin": "3.0.1", 
    "file-loader": "1.1.5", 
    "filesize": "3.5.10", 
    "fs-extra": "4.0.2", 
    "gzip-size": "4.0.0", 
    "html-webpack-plugin": "2.30.1", 
    "http-proxy-middleware": "0.17.4", 
    "jest": "21.2.1", 
    "json-loader": "0.5.7", 
    "object-assign": "4.1.1", 
    "path-exists": "3.0.0", 
    "postcss-loader": "2.0.6", 
    "promise": "8.0.1", 
    "react-dev-utils": "^4.1.0", 
    "recursive-readdir": "2.2.1", 
    "strip-ansi": "4.0.0", 
    "style-loader": "0.19.0", 
    "truffle-contract": "^3.0.0", 
    "truffle-solidity-loader": "0.0.8", 
    "url-loader": "0.6.2", 
    "webpack": "3.6.0", 
    "webpack-dev-server": "2.9.1", 
    "webpack-manifest-plugin": "1.3.2", 
    "whatwg-fetch": "2.0.3" 
    }, 
    "dependencies": { 
    "axios": "^0.16.2", 
    "babel-eslint": "^8.0.1", 
    "dotenv": "^2.0.0", 
    "react": "^16.0.0", 
    "react-countup": "^2.2.0", 
    "react-dom": "^16.0.0", 
    "semantic-ui-react": "^0.74.2" 
    }, 
    "scripts": { 
    "start": "node scripts/start.js", 
    "build": "node scripts/build.js", 
    "test": "node scripts/test.js --env=jsdom" 
    }, 
    "jest": { 
    "collectCoverageFrom": [ 
     "src/**/*.{js,jsx}" 
    ], 
    "setupFiles": [ 
     "<rootDir>/config/polyfills.js" 
    ], 
    "testMatch": [ 
     "<rootDir>/src/**/__tests__/**/*.js?(x)", 
     "<rootDir>/src/**/?(*.)(spec|test).js?(x)" 
    ], 
    "testEnvironment": "node", 
    "testURL": "http://localhost", 
    "transform": { 
     "^.+\\.(js|jsx)$": "<rootDir>/node_modules/babel-jest", 
     "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js", 
     "^(?!.*\\.(js|jsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js" 
    }, 
    "transformIgnorePatterns": [ 
     "[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$" 
    ], 
    "moduleNameMapper": { 
     "^react-native$": "react-native-web" 
    }, 
    "moduleFileExtensions": [ 
     "web.js", 
     "js", 
     "json", 
     "web.jsx", 
     "jsx" 
    ] 
    }, 
    "babel": { 
    "presets": [ 
     "react-app" 
    ] 
    }, 
    "eslintConfig": { 
    "extends": "react-app" 
    } 
} 

次のように手動でこれらのピアをインストールしようとしている:

npm install babel-eslint --save-dev 

私はまだエラーを取得:

├── UNMET PEER DEPENDENCY [email protected] 
├── UNMET PEER DEPENDENCY [email protected] 
├── UNMET PEER DEPENDENCY [email protected] 
└── UNMET PEER DEPENDENCY [email protected] 

は、たぶん私は理解しませんどのようにNPMが動作するのですか?インストールを手動で行うことは、少なくともそれを解決する必要があります。

コメントを追加するだけの人がいれば、私は追加情報を提供します。ありがとう!

答えて

1

ここで、peerDepsバージョンの不一致に関するNPMの警告が正しいことを示します。これらのパッケージはインストールされていますが、インストールされているバージョンは他のパッケージでサポートされていません。

あなたのケースでは、新しいパッケージです。警告パッケージのメンテナがまだこれらのバージョンに更新されていません。 API互換の範囲で必要なpeerDepsバージョンを制限しました(改ざん/メジャーバージョンの飛躍なし)。

[email protected]には、ピアデプス:[email protected]^7.2.3(つまり7.x.x)と[email protected]^5.1.1(つまり5.x.x)が必要です。

お客様のバージョンは"babel-eslint": "^8.0.1""eslint-plugin-jsx-a11y": "^6.0.2"です。最初の数字 - メジャー - は一致しません。これは^(キャレット)のマークです。

と同じです。semantic-ui-reactと同じです - 彼らはまだ​​をサポートしていません(私も待てません!)。他のパッケージと同じ

> npm view [email protected]* version // list released versions in required range 7.x.x 
[email protected] '7.0.0' 
[email protected] '7.1.0' 
[email protected] '7.1.1' 
[email protected] '7.2.0' 
[email protected] '7.2.1' 
[email protected] '7.2.2' 
[email protected] '7.2.3' 
> npm install --save-dev [email protected] // install latest version in required range 

:あなたは、正確なメジャーバージョンでパッケージをインストールできるようになるまで

。彼らはすでにdevDependenciesで宣言されているので、dependenciesbabel-eslintdotenv

PSは:また、package.jsonであなたは、重複レコードを削除する必要があります。

+0

私はそれを今すぐ整理しましたが、あなたの答えは私がずっと良いと理解してくれます!どうもありがとう :) –

関連する問題