找不到模块:无法解析“ material-ui-search-bar”

时间:2018-11-30 15:56:41

标签: reactjs material-ui

我遇到了错误

Module not found: Can't resolve 'material-ui-search-bar' in 'C:\Users\James\React\fpl-ui\src'

在Windows上运行npm start时。

但是完全相同的项目可以在OSX上编译并正常运行,我不确定是否缺少某种Windows特定的配置。

我的package.json具有以下依赖项

  "dependencies": {
    "@material-ui/core": "^3.3.2",
    "material-ui": "^0.20.2",
    "react": "^16.4.2",
    "react-dom": "^16.4.2",
    "react-script": "^2.0.5",
    "react-scripts": "1.1.5"
  }

我尝试删除material-ui依赖项之一,但这没有任何区别。

3 个答案:

答案 0 :(得分:3)

material-ui-search-bar不是@material-ui软件包的一部分,您需要单独安装此软件包:

npm install --save material-ui-search-bar

除此之外,您同时安装了@material-ui/corematerial-ui很奇怪。它们都是相同的软件包,但是来自不同的主要版本。

编辑:我现在了解为什么您会同时使用这两个版本。 material-ui-search-bar当前的稳定版本正在使用旧的material-ui版本。幸运的是,测试版发布渠道确实支持新版本。

我建议您执行以下操作:

  • 删除旧的material-ui版本,仅保留新的@material-ui/core

    npm uninstall --save material-ui
    
  • 删除旧的material-ui-search-bar

    npm uninstall --save material-ui-search-bar
    
  • material-ui-search-bar

    安装测试版
    npm install --save material-ui-search-bar@1.0.0-beta.13
    

现在它应该可以工作了,但是我想看看material-ui-search-bar软件包的文档,看看新版本是否引入了一些API更改。

通常不建议使用最新的beta版本,因为它很容易出错,但是在这种情况下,查看变更日志似乎更安全。另外,请查看此软件包的新发行版,以不时进行更新。

在过程结束时,您的package.json应该看起来像这样。

"dependencies": {
    "@material-ui/core": "^3.3.2",
    "material-ui-search-bar": "1.0.0-beta.13"
    "react": "^16.4.2",
    "react-dom": "^16.4.2",
    "react-script": "^2.0.5",
    "react-scripts": "1.1.5"
}

答案 1 :(得分:0)

您的package.json缺少material-ui-search-bar软件包。请运行npm i --save material-ui-search-bar在本地项目中安装依赖项,然后再次运行npm start

如果它不起作用,请再次检查您的package.json文件,并确保将material-ui-search-bar添加为依赖项。如果不是,则可以尝试手动添加它,然后再次运行npm installnpm start

答案 2 :(得分:0)

我的建议是在应用程序根文件夹中使用命令npm install。这将添加所有缺少的必需依赖项。