Error: Unable to resolve module `@react-native-community/toolbar-android`

Error: Unable to resolve module `@react-native-community/toolbar-android`

奇怪的是,react-native-vector-icons 运行良好,但在新版本的 package.json 文件中使用 ^ ("^6.6.0") 作为其版本时,会发生此错误.

这很奇怪,因为两天前它运行良好但现在开始我的项目运行这个错误:

error: Error: Unable to resolve module @react-native-community/toolbar-android from node_modules\react-native-vector-icons\lib\toolbar-android.js: @react-native-community/toolbar-android could not be found within the project.

阅读 this issue 并尝试了许多解决方案后,我找到了两个解决方案:

  • 您可以删除所有 node_modules 文件夹并将 react-native-vector-icons 的版本放入 "6.6.0" 而不是 "^6.6.0" 然后再次安装所有软件包。绝对,最好删除所有缓存和构建并重新启动一切。 (不推荐)

  • 您可以使用以下命令安装 @react-native-community/toolbar-android

    yarn add @react-native-community/toolbar-android
    

    npm install --save @react-native-community/toolbar-android
    

注意:这两种解决方案都是临时的,很快就会修复这个错误,不需要安装toolbar-android包。


上次更新

我在我的项目上更新包到"^7.0.0"版本,问题依然存在,所以这个解决方案目前是坚持


新更新

此问题已在版本 "^7.1.0" 上修复,无需安装 @react-native-community/toolbar-android

更新库

react-native-vector-icons

到最新版本。

编辑此文件node_modules\react-native-vector-icons\lib\toolbar-android.js

删除'import ToolbarAndroid from '@react-native-community/toolbar-android';' 编辑 return null

这样做: rm -rf node_modules/ rm -rf package.lock.json npm 我 react-native 启动 --reset-cache

从您的项目目录:)

我也有这个问题。 就我而言,仅当我使用最新版本 (7.0.0) 删除并再次添加包时才有效。

yarn remove react-native-vector-icons
yarn add react-native-vector-icons

只需直接从 React Native 导入即可解决我的问题

node_modules\react-native-vector-icons\lib\toolbar-android.js

import { ToolbarAndroid } from 'react-native';

同样的问题,我解决了: 我的环境: RN:0.61.5 节点:v12.18.3 OS: Windows 10 专业版

您可以安装 react-native-vector-icons 最新版本(当前为 7.0.0)。 而运行auto-link(react-nativelinkreact-native-vector-icons) 最后,运行宁react-native start --reset-cache 祝你好运。

首先让我们了解一下package.json中packege版本的标准约定。 所以如果你看到~1.0.2就意味着安装版本1.0.2或者最新的补丁版本如1.0.4。如果您看到 ^1.0.2,则表示安装版本 1.0.2 或最新的次要版本或补丁版本,例如 1.1.0.

现在,进入正题。

问题是因为您使用的 react-native-vector-icons 版本给您带来了一些麻烦。 在您的项目目录下通过此命令检查它的版本:

npm list react-native-vector-icons --version\是吗6.6.0??

没有?? .有问题。你确实需要 6.6.0 但你还有其他东西。

解法:

删除项目下的 node_modules 目录。将 package.jsonreact-native-vector-icons 的版本更改为 6.6.0(基本上删除 ^ 以告诉 npm 得到我想要的东西。仅此而已! )

然后npm install!

有这个完全相同的错误。我所要做的就是安装 toolbar-android & voilà!

npm install --save @react-native-community/toolbar-android

我从版本 6 升级到版本 7 后也遇到了同样的错误。只需重置缓存即可解决此问题。

请尝试npm start -- --reset-cache

对于这种情况,您的模块文件中没有 toolbar-android,朋友们说您可以通过此命令修复它

windows 用户:

npm install --save @react-native-community/toolbar-android

Mac 用户:

yarn add @react-native-community/toolbar-android

但总的来说:我想告诉你们一个经验,每当你们遇到这种以 “无法解析模块”开头的错误时.

如果您查看错误,我们发现系统告诉我们的模块有问题。

如果您没有该模块。你可以使用命令安装它

Windows 用户:

npm install --save THE MODULE(注意:模块是您需要安装的包或模块的名称)

和Mac 用户:

yarn add THE MODULE(attention: THE MODULE IS THE NAME OF PACKAGES OR MODULES that u need to install)

例如让我们看看这个错误:

error Unable to resolve module `@react-native-community/slider` from `App.js`: @react-native-community/slider could not be found within the project.

如您所见,错误告诉我们在我们的项目中找不到该模块。 所以我们需要用这个命令安装它: windows 程序员:

npm install --save @react-native-community/slider

mac 程序员:

yarn add @react-native-community/slider

就这些了。

我希望你能清楚地理解我,不要遇到无法解决模块错误的问题,我的命令对你有用。

此致

Mehrad Karampour (MEH)

走这条路\node_modules\native-base\node_modules\react-native-vector-icons\lib\toolbar-android.js

import ToolbarAndroid from '@react-native-community/toolbar-android'替换为import {ToolbarAndroid} from './react-native';

另一种选择是使用 expo 的矢量图标。像这样的东西。 从“@expo/vector-icons”导入 { Ionicons }。 然后像这样渲染你的图标;

<Ionicons
  name="ios-exit-outline"
  color={colors.danger}
  size={28}
  style={{ marginRight: -15 }}
/>