模块未找到:错误:无法解析'react-bootstrap-validation'

17

问题

我在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


环境

这是我正在使用的node环境。

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>
    )
  }
}

1
“validtion” 不等同于 “validation”。 - Andrew Li
@AndrewL。谢谢! 那个问题已经解决了,请忽略它。我仍然遇到以下错误:在'/usr/src/app/app/js/components/main'中找不到模块:错误:无法解析'react-bootstrap-validation' - Giwoo Gustavo Lee
这与问题中给出的错误信息相冲突。 - Andrew Li
你能在你的node_modules文件夹中看到react-bootstrap-validation包文件夹吗? - Hardy
@Hardy,感谢您的评论!是的。我已经附上了“npm list”的输出结果!如果需要,请参考它! - Giwoo Gustavo Lee
4个回答

28

当您使用某个模块且该模块未安装或由于错误路径而无法定位该模块时,将会出现“找不到模块错误”。

您尝试安装的一个模块可能还依赖于其他模块

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

因此,请尝试以给予所有权限的方式安装,或者如果您使用的是Ubuntu机器,则以Root身份运行并添加sudo。

这样,您就可以通过直接运行以下命令来安装该模块:

npm install react-bootstrap-validation --save

如果您使用的是Linux/Ubuntu,则运行以下命令:

sudo npm install react-bootstrap-validation --save

首先在安装模块时请检查控制台是否显示任何依赖错误。

如果是这样,请附上该控制台,然后您需要通过npm install单独安装相关的依赖模块。

希望这能帮到您!

谢谢。


3
以上的npm install react-bootstrap-validtion --save 应该改为 npm install react-bootstrap-validation --save。注意:validation 拼写有误。 - Mr. Benedict

4
您可以尝试使用以下方法:

```

npm i --save react-bootstrap

0
如果被接受的答案对你无效,可能是由于你使用的 bootstrap-react 版本比你试图实现/模拟的版本要新。
对于我来说,我查看了我正在查看的教程的 package.json 文件,并发现:
"react-bootstrap": "^1.5.2",

如果您已经在计算机上下载了该项目,您也可以直接运行npm list

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

react-bootstrap@2.0.0

所以我运行了

npm install react-bootstrap@1.5.2

并解决了这个问题。


0

这解决了我的问题

npm install --save react-bootstrap-validation


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接