错误:无法解析模块 `buffer` React Native [英] Error: Unable to resolve module `buffer` React Native

查看:40
本文介绍了错误:无法解析模块 `buffer` React Native的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 Android 上构建项目时遇到错误

<块引用><块引用>

错误:捆绑失败:错误:无法从 E:\SUNNYCLOCK-MOBILE\node_modules\safe-buffer\index.js 解析模块 buffer:模块buffer 在 Haste 模块映射中不存在

这可能与https://github.com/facebook/react-native/issues/4968解决试试以下:1、清除watchman watch:watchman watch-del-all.2、删除node_modules文件夹:rm -rf node_modules &&npm 安装.3. 重置 Metro Bundler 缓存:rm -rf/tmp/metro-bundler-cache-*npm start -- --reset-cache.4. 移除加速缓存:rm -rf/tmp/haste-map-react-native-packager-*.在 ModuleResolver.resolveDependency (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:161:1460)在 ResolutionRequest.resolveDependency (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:91:16)在 DependencyGraph.resolveDependency (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\node-haste\DependencyGraph.js:272:4579)在dependencies.map.relativePath (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:376:19)在 Array.map()在 resolveDependencies (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:374:16)在 E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:212:33在 Generator.next()在步骤 (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:297:313)在 E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:297:473捆绑 [android, dev] ./index.js ▓▓▓▓▓▓▓▓░░░░░░░░ 51.9% (813/1143),失败.

我的 React Native 信息是

环境:操作系统:Windows 10节点:8.9.1纱线:1.7.0npm:4.6.1守望者:未找到代码:不适用Android Studio:未找到软件包:(想要 => 已安装)反应:16.3.1 =>16.3.1反应原生:0.55.4 =>0.55.4

我该如何解决这个问题

解决方案

首先安装缺少的依赖buffer:

npm install buffer --save OR yarn add buffer

第二

使用 buffer 在文件顶部:

import { Buffer } from 'buffer';global.Buffer = 缓冲区;

如果你不需要直接访问Buffer,只需将上面的代码粘贴到你的App.js文件中

I am getting an error when I build my project on Android

error: bundling failed: Error: Unable to resolve module buffer from E:\SUNNYCLOCK-MOBILE\node_modules\safe-buffer\index.js: Module buffer does not exist in the Haste module map

This might be related to https://github.com/facebook/react-native/issues/4968 To resolve try the following: 1. Clear watchman watches: watchman watch-del-all. 2. Delete the node_modules folder: rm -rf node_modules && npm install. 3. Reset Metro Bundler cache: rm -rf /tmp/metro-bundler-cache-* or npm start -- --reset-cache. 4. Remove haste cache: rm -rf /tmp/haste-map-react-native-packager-*. at ModuleResolver.resolveDependency (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:161:1460) at ResolutionRequest.resolveDependency (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:91:16) at DependencyGraph.resolveDependency (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\node-haste\DependencyGraph.js:272:4579) at dependencies.map.relativePath (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:376:19) at Array.map () at resolveDependencies (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:374:16) at E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:212:33 at Generator.next () at step (E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:297:313) at E:\SUNNYCLOCK-MOBILE\node_modules\metro\src\DeltaBundler\traverseDependencies.js:297:473 BUNDLE [android, dev] ./index.js ▓▓▓▓▓▓▓▓░░░░░░░░ 51.9% (813/1143), failed.

my React native info is

Environment:
  OS: Windows 10
  Node: 8.9.1
  Yarn: 1.7.0
  npm: 4.6.1
  Watchman: Not Found
  Xcode: N/A
  Android Studio: Not Found

Packages: (wanted => installed)
  react: 16.3.1 => 16.3.1
  react-native: 0.55.4 => 0.55.4

How can I solve this issue

解决方案

First Install the missing dependency buffer :

npm install buffer --save OR yarn add buffer

Second

Up in the top of your file using buffer:

import { Buffer } from 'buffer';
global.Buffer = Buffer;

If you don't need to access Buffer directly, just paste the above code in your App.js file

这篇关于错误:无法解析模块 `buffer` React Native的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆