“npm install”给出错误信息“无效”,它是什么?
请检查图片。
我想这与package.json
有关,但我不太确定。
回复评论为我安装material-ui
更多信息
开始。
的详细的消息现在在这里:
I:\反应-样板> NPM安装材料的UI
[email protected] I:\反应-样板
| + - [email protected]
| + - [email protected]
| + - UNMET PEER DEPENDENCY [email protected]^15.4.2
| + - [email protected]
| + - [email protected]
| + - [email protected]
| | + - UNMET PEER DEPENDENCY [email protected]^15.4.2
| | ` - [email protected]
| + - [email protected]
| | ` - [email protected]
| ` - [email protected]
+ - 未满足PEER DEPENDENCY [email protected]^2.0.1
` - 未满足PEER DEPENDENCY [email protected]。 3
然后我试图通过npm install
修复他们的UNMET PEER DEPENDENCY。
第一次尝试给出了这样的:
[email protected] I:\反应,样板
+ - [email protected]无效
+ - 反应[email protected]
` - UNMET PEER DEPENDENCY [email protected]。3
正如你可以看到这是第一个invalid
我满足。
所以我只是想弄清楚为什么这invalid
弹出,以及如何解决它。
回复评论获取更多信息
这里是的package.json,相依部分
“依赖”:{ “巴别塔,填充工具”:“6.20。 0" , “白垩”: “1.1.3”, “压缩”: “1.6.2”, “交叉ENV”: “3.1.3”, “表达”: “4.14.0”, “FON tfaceobserver“:”2.0.7“, ”immutable“:”3.8.1“, ”intl“:”1.2.5“, ”invariant“:”2.2.2“, ”ip“:”1.1。 4“, ”lodash“:”4.17.2“, ”minimist“:”1.2.0“, ”react“:”15.4.1“, ”react-dom“:”15.4.1“, “react-helmet”:“3.2.2”, “react-intl”:“2.1.5”, “react-redux”:“4.4.6”, “react-router”:“3.0.0” , “react-router-redux”:“4.0.6”, “react-router-scroll”:“0.4.1”, “redux”:“3.6.0”, “redux-immutable”:“ 3.0.8“, ”还原奇迹“:”0.14.0“, “reselect”:“2.5.4”, “sanitize.css”:“4.1.0”, “style-components”:“1.1.2”, “warning”:“3.0.0”, “ WHATWG取 “: ”2.0.1“},
和devDependencies部
”devDependencies“:{ ”巴别-CLI“: ”6.18.0“, ” babel-核心“:”6.21.0“, ”babel-eslint“:”7.1.1“, ”babel-loader“:”6.2.10“, ”babel-plugin-dynamic-import-node“:”1.0 .0“, “babel-plugin-react-intl”:“2.2.0”, “babel-plugin-react-transform”:“2.0.2”, “babel-plugin-transform-es2015-modules-commonjs”:“ 6.18.0“, ”babel-plugin-transform-react-constant-elements“:”6.9.1“, ”babel-plugin-transform-react-inline-elements“:”6.8.0“, ”babel -plugin-transform-react-remove-prop-types“:”0.2.11“, ”babel-preset-latest“:”6.16.0“, ”babel-preset-react“:”6.16.0“, “babel-preset-react-hmre”:“1.1.1”, “babel-preset-stage-0”:“6.16.0”, “cheerio”:“0.22.0”, “循环依赖-plugin“:”2.0.0“, ”coveralls“:”2.11.15“, ”css-loader“:”0.26.1 “, ”酶“:”2.6.0“, ”eslint“:”3.11.1“, ”eslint-config-airbnb“:”13.0.0“, ”eslint-config-airbnb-base“: “10.0.1”, “eslint-import-resolver-webpack”:“0.8。0“, ”eslint-plugin-import“:”2.2.0“, ”eslint-plugin-jsx-a11y“:”2.2.3“, ”eslint-plugin-react“:”6.7.1“, “eslint-plugin-redux-saga”:“0.1.5”, “eventsource-polyfill”:“0.9.6”, “exports-loader”:“0.6.3”, “file-loader”: “0.9.0”, “html-loader”:“0.4.4”, “html-webpack-plugin”:“2.24.1”, “image-webpack-loader”:“2.0.0”, “imports-loader”:“0.6.5”, “jest-cli”:“18.0.0”, “lint-staged”:“3.2.1”, “ngrok”:“2.2.4”, “node-plop”:“0.5.4”, “null-loader”:“0.1.1”, “offline-plugin”:“4.5.2”, “plop”:“1.7.3”, “pre-commit”:“1.1.3”, “react-addons-test-utils”:“15.4 .1“, ”rimraf“:”2.5.4“, ”shelljs“:”0.7.5“, ”sinon“:”2.0.0-pre“, ”style-loader“:”0.13.1 “, ”url-loader“:”0.5.7“, ”webpack“:”2.2.0-rc.3“, ”webpack-dev-middleware“:”1.9.0“, ”webpack-hot -middleware“:”2.15.0“}
这里的一个无效的依赖关系表明安装了不适当的版本的依赖包。在这种情况下,您的项目请求[email protected]
,但安装了2.2.1
版本。请注意版本范围中没有脱字号(^)或代字号(〜),这意味着2.2.1
不是有效匹配项。
与其他依赖关系(如material-ui
)需要的版本15.4.1
固定版本的React发生了另一个冲突,应升级到版本范围^15.4.2
。
为了设置一个依赖的新版本(升级/降级的话),不要忘了相应的保存标志(--save
/-S
或--save-dev
/-D
)。
npm install -S [email protected]^15.4.2
不幸的是,react-tap-event-plugin
取决于版本2.2.0-rc3
的WebPack,所以你不应该的WebPack升级。相反,您可以拨打npm update --dev
以确保所有注册的依赖项都安装了正确的版本。如果一切都失败了,一个天真但有效的技巧是删除node_modules文件夹并从头开始安装所有软件包。
好听起来不错。只是想确认所有的细节:'无效'消息提示版本冲突,但冲突的依赖关系仍然被成功安装,是吗?就像'devDepdencies'需要'2.2.0-rc3',我安装了'2.2.1',所以它告诉我'无效',但它仍然允许我这样做,对吧? –
呵呵,你是怎么发现'react-tap-event-plugin'依赖于'2.2.0-rc3'的? –
糟糕我想我在我的文章中提供了错误的package.json内容,我用正确的github内容纠正了它,但'webpack'的'devDependencies'仍然是'2.2.0-rc3',所以我认为你的答案仍然有效。 –
我见过这个错误发生时,做一个npm install Path\Filename.tgz
其中文件名是不同的后续npm install
调用比原来的安装。
具体而言,在Windows操作系统上,路径\文件名大小写无关紧要。
例如,我安装了一个具有大写字母开始字符的文件夹名称,然后在随后的调用中使用了小写字母名称。这导致软件包未被安装并生成包名称旁边的红色invalid
警告。
检查package.json
并使用确切路径和文件名,看看是否为您解决它。
你能提供更多的信息吗?还有什么打印到上面和下面的输出? –
@ E_net4嘿,我已经添加了更多信息! –
还请包括您的项目的package.json,或至少是注册的依赖项。 –