• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 运行 react native ios应用程序时找不到文件依赖错误

[复制链接]
菜鸟教程小白 发表于 2022-12-13 15:21:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

所以我想使用 npm 安装一个依赖项,即 react-native-router-flux,但由于与 react 和 react-native 的兼容版本,它无法正常工作,所以它是打破我的项目应用程序。所以我把它从 package.json 文件中删除了。

尝试通过以下方式删除它:

npm uninstall --save react-native-router-flux

甚至尝试从 package.json 文件中手动删除它,但由于某种原因,现在看来我的整个项目都因此而损坏。 现在每当我做 npm start

这是在我的终端中显示的内容:

error: bundling: Error: ENOENT: no such file or directory, open '/Users/marian-mac/Documents/dev/example/myapp/node_modules/react-native-router-flux/node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js'
    at Error (native)
    at Object.fs.openSync (fs.js:634:18)
    at Object.fs.readFileSync (fs.js:502:33)
    at Module._readSourceCode (/Users/marian-mac/Documents/dev/example/myapp/node_modules/react-native/packager/src/node-haste/Module.js:200:29)
    at Module._getCacheProps (/Users/marian-mac/Documents/dev/example/myapp/node_modules/react-native/packager/src/node-haste/Module.js:420:29)
    at Module._readFromTransformCache (/Users/marian-mac/Documents/dev/example/myapp/node_modules/react-native/packager/src/node-haste/Module.js:376:29)
    at Module.readCached (/Users/marian-mac/Documents/dev/example/myapp/node_modules/react-native/packager/src/node-haste/Module.js:363:25)
    at Promise.resolve.then (/Users/marian-mac/Documents/dev/example/myapp/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:167:29)
    at process._tickCallback (internal/process/next_tick.js:103:7)
Bundling `index.ios.js`  94.0% (2941/3033)

我尝试了 rm -rf/node_modules 100 次和 npm install 又 100 次,这一直失败和失败,我不明白在哪里试图访问该文件!如果它被删除!

这是我的 package.json 现在:

{
  "name": "myapp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "moment": "^2.18.1",
    "native-base": "^2.1.3",
    "react": "16.0.0-alpha.6",
    "react-native": "0.44.0",
    "react-native-flags": "^1.0.0"
  },
  "devDependencies": {
    "babel-jest": "19.0.0",
    "babel-preset-react-native": "1.9.1",
    "jest": "19.0.2",
    "react-test-renderer": "16.0.0-alpha.6"
  },
  "jest": {
    "preset": "react-native"
  }
}

还会针对版本和其他内容抛出警告:

npm WARN [email protected] requires a peer of react@>=15.1.0 but none was installed.
npm WARN @shoutem/[email protected] requires a peer of react@^15.0.0 but none was installed.
npm WARN [email protected] requires a peer of react@^0.13.0 || ^0.14.0 || ^15.0.0 but none was installed.

这是针对本地基础依赖项引发的:

 UNMET PEER DEPENDENCY react@^0.13.0 || ^0.14.0 || ^15.0.0

谁能帮帮我?这让我发疯,现在已经为此“战斗”了几个小时,但我无法继续使用我的应用程序。

提前致谢。


编辑:

在为 react、react-native 和 native-base 更改了一些版本之后。仍然有警告,并且看起来打包程序正在尝试访问 react-native-route-flux 中的 react-native 文件。

1) 这是我当前的 package.json

{
  "name": "myapp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "moment": "^2.18.1",
    "native-base": "^2.1.3",
    "react": "16.0.0-alpha.3",
    "react-native": "^0.43.0",
    "react-native-flags": "^1.0.0"
  },
  "devDependencies": {
    "babel-jest": "19.0.0",
    "babel-preset-react-native": "1.9.1",
    "jest": "19.0.2",
    "react-test-renderer": "16.0.0-alpha.6"
  },
  "jest": {
    "preset": "react-native"
  }
}

2) 这些是警告:

npm WARN [email protected] requires a peer of [email protected] but none was installed.
npm WARN [email protected] requires a peer of react@>=15.1.0 but none was installed.
npm WARN @shoutem/[email protected] requires a peer of react@^15.0.0 but none was installed.
npm WARN [email protected] requires a peer of react@^0.13.0 || ^0.14.0 || ^15.0.0 but none was installed.
npm WARN [email protected] requires a peer of react@^16.0.0-alpha.6 but none was installed.

还会在原生基础上引发一些 UNMET PEER DEPENDENCY:

├─┬ [email protected]
│ ├─┬ @shoutem/[email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ └── [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── UNMET PEER DEPENDENCY react@^15.0.0
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── UNMET PEER DEPENDENCY react@^0.13.0 || ^0.14.0 || ^15.0.0
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │   └── [email protected]
│ └── [email protected]
├─┬ UNMET PEER DEPENDENCY [email protected]

并且在控制台中运行时,从 XCode 中抛出模拟器中的红屏错误:

没有为关键窗口设置维度

看起来是 known issue根据他的github。但是该死的,我不再想要 react-native-router-flux,我什至在我的 package.json 中都没有它,也没有安装它,仍然会造成麻烦,这种依赖是一种病毒。



Best Answer-推荐答案


每当您遇到这种情况时,请冷静一下,想想在安装核心第三方时所有其他第三方都安装了什么。我在玩 react-native-router-flux 时遇到了类似的问题,它的稳定版本是 v3.38.0

从上面的问题看来 @shoutem/[email protected][email protected] 带有 react-native -router-flux 库。而另一个包,即 native-basereact@>=15.1.0

兼容

所以我得出结论,从 Node 模块中删除 @shoutemreact-static-container。如果仍然存在错误,那么我该死的肯定错误是由于本地基础造成的。从项目中完全移除 native base 并等待 native base 更新到最新版本的 react

尝试以上方法并分享进展,因为这也可以帮助其他人。

注意 1:当您在安装软件包时看到警告时,请不要忽略这些警告,因为它们可能会破坏某些软件包的功能。

使用 npm install [email protected] 更新软件包,其中 x.y 是您要安装的版本号。

注意 2:安装包 yarn 是首选。

以下是使用 react-native-router-flux 更新或安装的依赖项:

"dependencies": {
    "lodash.isequal": "^4.5.0",
    "react": "^15.4.2",
    "react-addons-pure-render-mixin": "^15.4.2",
    "react-dom": "^15.4.2",
    "react-native": "^0.41.2",
    "react-native-experimental-navigation": "0.26.x",
    "react-native-tabs": "^1.0.9",
    "react-static-container": "1.0.1"
  },

如您所见,react-static-container 是从 react-native-router-flux 继承的,其他错误是由于 native-base,请参阅 native-base 提供的以下依赖项。

"dependencies": {
    "@shoutem/animation": "^0.8.9",
    "native-base-shoutem-theme": "0.1.3",
    "blueimp-md5": "^2.5.0",
    "clamp": "^1.0.1",
    "color": "~0.11.1",
    "fs-extra": "^2.0.0",
    "lodash": "~4.11.1",
    "print-message": "^2.1.0",
    "react-native-easy-grid": "0.1.7",
    "react-native-keyboard-aware-scroll-view": "0.2.7",
    "react-native-scrollable-tab-view": "^0.7.1",
    "react-native-vector-icons": "~4.0.0",
    "react-tween-state": "^0.1.5",
    "tween-functions": "^1.0.1",
    "react-native-drawer": "^2.3.0"
  },

干杯

关于ios - 运行 react native ios应用程序时找不到文件依赖错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43817087/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap