“npm install”给出错误消息“无效”,它是什么?

问题描述 投票:6回答:2

enter image description here

请查看图片。

我想这与package.json有关但不太确定。


回复评论以获取更多信息

最初我正在安装material-ui

详细信息如下:

我:\ react-boilerplate> npm install material-ui

[email protected] I:\ react-boilerplate

+-- [email protected]

| +-- key [email protected]

| +-- 咯嗒声[email protected]

| + - UNMET PEER DEPENDENCY react@^15.4.2

| +-- react-add [email protected]

| +-- react-add [email protected]

| +-- [email protected]

| | + - UNMET PEER DEPENDENCY react@^15.4.2

| | `-- react-add [email protected]

| +-- [email protected]

| | `-- 嫦娥[email protected]

| `-- [email protected]

+ - UNMET PEER DEPENDENCY react-tap-event-plugin@^2.0.1

` - UNMET PEER DEPENDENCY [email protected]

然后我试图通过npm install修复UNMET PEER DEPENDENCY。

第一次尝试给出了这个:

[email protected] I:\ react-boilerplate

+ - [email protected]无效

+-- react-踏平[email protected]

` - UNMET PEER DEPENDENCY [email protected]

`-- Web [email protected]

如你所见,这是我遇到的第一个invalid

所以我只想弄清楚为什么这个invalid弹出以及如何解决它。


回复评论以获取更多信息

这是package.json,dependencies部分

“dependencies”:{“babel-polyfill”:“6.20.0”,“chalk”:“1.1.3”,“compression”:“1.6.2”,“cross-env”:“3.1.3”,“表达“:”4.14.0“,”fontfaceobserver“:”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“,” redux-saga“:”0.14.0“,”reselect“:”2.5.4“,”sanitize.css“:”4.1.0“,”styled-components“:”1.1.2“,”警告“:” 3.0.0“,”whatwg-fetch“:”2.0.1“},

和devDependencies部分

“devDependencies”:{“babel-cli”:“6.18.0”,“babel-core”:“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“,”circular-dependency-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 “}

npm npm-install
2个回答
4
投票

此处的无效依赖性表明安装了不适当的依赖包版本。在这种情况下,您的项目正在请求[email protected],但安装了版本2.2.1。请注意,版本范围中没有插入符号(^)或波形符号(〜),这意味着2.2.1不是有效匹配。

另一个冲突发生在React上,它在版本15.4.1上修复,应该根据其他依赖项(例如^15.4.2)的要求升级到版本范围material-ui

为了设置新版本的依赖项(升级/降级它),不要忘记相应的保存标志(--save / -S--save-dev / -D)。

npm install -S react@^15.4.2

不幸的是,react-tap-event-plugin依赖于版本2.2.0-rc3 webpack,所以你不应该升级webpack。相反,您可以调用npm update --dev以确保使用正确的版本安装所有已注册的依赖项。如果所有其他方法都失败了,一个天真但有效的技巧是删除node_modules文件夹并从头开始安装所有软件包。


0
投票

我已经看到这样的错误发生在npm install Path\Filename.tgz,其中文件名在后续的npm install调用上不同于原始安装。

具体来说,在Windows操作系统中,path \ filename大小写无关紧要。

例如,我安装了一个文件夹名称,其中包含大写的开头字符,然后在后续调用中,我使用的是小写名称。这导致程序包无法安装并生成包名称旁边的红色invalid警告。

检查package.json并使用确切的路径和文件名,看看是否能为您修复它。

© www.soinside.com 2019 - 2024. All rights reserved.