我是新来的反应本地人,但发现了一个错误,使我对我毫无意义 .
我想要包含一个日历库:https://github.com/wix/react-native-calendars
我已将该库的依赖项包含在我的package.json文件中并运行
npm install
该项目运行良好,之前预计 . 我只是在项目中添加了一行代码:
import { Calendar, CalendarList, Agenda } from 'react-native-calendars';
没有其他的 . 但是现在,当应用程序加载到设备上时,我收到一条红色错误消息,这就是我的控制台所说的:
错误:捆绑失败:错误:尝试从文件 /Users/Alex/Documents/workspace/mobile/node_modules/react-native-calendars/src/index.js
解析模块 xdate
时,已成功找到包 /Users/Alex/Documents/workspace/mobile/node_modules/xdate/package.json
. 但是,此程序包本身指定了无法解析的 main
模块字段( /Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js
. 实际上,这些文件都不存在:
/Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json)
在DependencyGraph.resolveDependency(/ Users / Alex / Documents /)处于ResolutionRequest.resolveDependency(/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:103:15)的/Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js/index(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json)
workspace / mobile / node_modules / metro / src / node-haste / DependencyGraph.js:272:4579)在dependencies.map.relativePath(/ Users / Alex / Documents / workspace / mobile / node_modules / metro / src / DeltaBundler / traverseDependencies . js:376:19)在/ Users / Alex / Documents /的resolveDependencies(/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js:374:16)的Array.map()处workspace / mobile / node_modules / metro / src / DeltaBundler / traverseDependencies.js:212:33在Generator.next()的步骤(/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js :297:313)/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js:297:473 at
但是我已经检查了目录,实际上/Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js确实存在 . 但是我没有看到这部分:( .native || .ios.js | .native.js | .js | .ios.json | .native.json | .json)
至于/Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js/index如何存在,这没有意义,因为xdate.js不是目录 .
有帮助吗?
3 回答
如果您在打包器打开时尝试安装模块,通常会发生这种情况 .
尝试删除
node_modules
文件夹并关闭packager
. 然后在项目目录中通过npm install
重新安装所有内容 .首先关闭你的JavaScript捆绑包(在我的情况下是Metro捆绑包)并重启应用程序 . 这将创建新的依赖图 . 这应该可以解决问题 .
如果在删除
./node_modules
文件夹并再次运行npm install
后仍然出现错误,请尝试使用--update-binary
标志进行安装,即npm install --update-binary
. 这应该清除并重建您机器上任何以前构建的包 .