Module not found: Error: Can't resolve 'react-bootstrap-validation'

Module not found: Error: Can't resolve 'react-bootstrap-validation'

问题

我在 webpack 中不断收到以下错误

Error: Cannot find module 'react-bootstrap-validtion'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:20:19)

我是否错误地引用或安装了模块?

我是按照官网的例子做的。 (https://www.npmjs.com/package/react-bootstrap-validation)


环境

这是我正在使用的节点环境

npm -v
3.10.7

nvm version
v5.11.1

node -v
v5.11.1

这就是我安装模块的方式

npm install --save react-bootstrap-validation


React 组件

这就是我实现 React 组件的方式

import React, {Component} from 'react'
import { ButtonInput } from 'react-bootstrap'
import { Form } from 'react-bootstrap-validation'

export default class LoginForm extends Component {

  constructor(props) {
    super(props)
    this.state = {
      showModal: false,
      email: '',
      password: ''
    }
  }

  _handleValidSubmit(values) {}
  _handleInvalidSubmit(errors, values) {}

  render() {
    return (
      <div>
        <div className="account">
          <div className="container">
            <div className="page-title">Login</div>
            <div className="page-desc">Email used at sign up</div>
            <Form
              onValidSubmit={this._handleValidSubmit.bind(this)}
              onInvalidSubmit={this._handleInvalidSubmit.bind(this)}>
              <ValidatedInput
                type="text"
                label="Email"
                name="email"
                validate="required,isEmail"
                errorHelp={{
                  required: "Please enter your e-mail",
                  isEmail: "Email is invalid"
                }}
              />

              <ValidatedInput
                type="password"
                label="Password"
                name="password"
                validate="required,isLength:6:60"
                errorHelp={{
                  required: "Please specify a password",
                  isEmail: "Password must be at least 6 characters"
                }}
              />

              <ButtonInput
                type="submit"
                bsSize="large"
                bsStyle="primary"
                value="LOGIN"
              />
            </Form>
          </div>
        </div>
      </div>
    )
  }
}

当您正在使用某个模块并且该模块未安装或节点由于路径错误而无法找到该模块时,会出现模块未找到错误。

One module you are trying to install have either dependency on other modules as well

因此有时由于某些权限安全问题,并非所有模块都正确安装。

因此,如果您使用的是 ubuntu 机器,请尝试授予所有权限或 运行 作为 Root 并添加 sudo。

因此您可以直接通过以下命令 运行 安装该模块:-

npm install react-bootstrap-validation --save

或者如果您使用 linux/ubuntu 而不是 运行 以下命令:-

sudo npm install react-bootstrap-validation --save

或者在安装

模块时先在控制台查看

is there any dependency error showing in the console

如果是这样,那么请同时附加该控制台,在这种情况下,您还需要通过 npm install 单独安装依赖模块。

希望这会有所帮助!

谢谢

你可以试试这个:

npm i --save react-bootstrap

如果已接受的答案对您不起作用,可能是您的 bootstrap-react 版本比您尝试 implement/emulate.[=17= 的版本更新]

对于我来说,我检查了我正在查看的教程的 package.json 文件,发现:

"react-bootstrap": "^1.5.2",

您也可以只 运行 npm list 如果您已经将它下载到您的机器上。

但是当我 运行 npm list 在我自己的项目上时,我得到了

react-bootstrap@2.0.0

所以我运行

npm install react-bootstrap@1.5.2

并解决了问题。