繁体   English   中英

无法从“App.js”解析“aws-amplify”

[英]Unable to resolve "aws-amplify" from "App.js"

今天我用 Amplify 初始化了一个新的 React Native 项目。

这个问题也在这里( https://github.com/aws-amplify/amplify-js/issues/3776 ),但我不知道这里是否有人可以提供帮助。

我什至不知道是什么导致了我所描述的问题,朝正确的方向推动以便我自己解决它会很棒!

在我的 app.js 我想做:

import Amplify from 'aws-amplify';
import awsconfig from './aws-exports';
Amplify.configure(awsconfig);

但它说:

无法从“App.js”解析“aws-amplify”

我的手机上写着:

 The development server returned response error code: 500 URL: http://192.168.1.15:19001/node_modules/expo/AppEntry.bundle?platform=android&dev=true&minify=false&hot=false Body: {"originModulePath":"/Users/Dion/www/movieproject-app/App.js","targetModuleName":"aws-amplify","message":"Unable to resolve module `aws-amplify` from `/Users/Dion/www/movieproject-app/App.js`: Module `aws-amplify` does not exist in the Haste module map or in these directories:\\n /Users/Dion/www/movieproject-app/node_modules\\n\\nThis might be related to https://github.com/facebook/react-native/issues/4968\\nTo resolve try the following:\\n 1. Clear watchman watches: `watchman watch-del-all`.\\n 2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.\\n 3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`.\\n 4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.","errors":[{"description":"Unable to resolve module `aws-amplify` from `/Users/Dion/www/movieproject-app/App.js`: Module `aws-amplify` does not exist in the Haste module map or in these directories:\\n /Users/Dion/www/movieproject-app/node_modules\\n\\nThis might be related to https://github.com/facebook/react-native/issues/4968\\nTo resolve try the following:\\n 1. Clear watchman watches: `watchman watch-del-all`.\\n 2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.\\n 3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`.\\n 4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`."}],"name":"Error","stack":"Error: Unable to resolve module `aws-amplify` from `/Users/Dion/www/movieproject-app/App.js`: Module `aws-amplify` does not exist in the Haste module map or in these directories:\\n /Users/Dion/www/movieproject-app/node_modules\\n\\nThis might be related to https://github.com/facebook/react-native/issues/4968\\nTo resolve try the following:\\n 1. Clear watchman watches: `watchman watch-del-all`.\\n 2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.\\n 3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`.\\n 4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.\\n at ModuleResolver.resolveDependency (/Users/Dion/www/movieproject-app/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:183:15)\\n at ResolutionRequest.resolveDependency (/Users/Dion/www/movieproject-app/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:52:18)\\n at DependencyGraph.resolveDependency (/Users/Dion/www/movieproject-app/node_modules/metro/src/node-haste/DependencyGraph.js:283:16)\\n at Object.resolve (/Users/Dion/www/movieproject-app/node_modules/metro/src/lib/transformHelpers.js:261:42)\\n at dependencies.map.result (/Users/Dion/www/movieproject-app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:399:31)\\n at Array.map (<anonymous>)\\n at resolveDependencies (/Users/Dion/www/movieproject-app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:18)\\n at /Users/Dion/www/movieproject-app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:269:33\\n at Generator.next (<anonymous>)\\n at asyncGeneratorStep (/Users/Dion/www/movieproject-app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:87:24)"} processBundleResult BundleDownloader.java:300 access$200 BundleDownloader.java:37 onChunkComplete BundleDownloader.java:224 emitChunk MultipartStreamReader.java:76 readAllParts MultipartStreamReader.java:154 processMultipartResponse BundleDownloader.java:208 access$100 BundleDownloader.java:37 onResponse BundleDownloader.java:169 execute RealCall.java:206 run NamedRunnable.java:32 runWorker ThreadPoolExecutor.java:1167 run ThreadPoolExecutor.java:641 run Thread.java:784

里面有一些建议:

  1. 清除守望者手表: watchman watch-del-all
  2. 删除node_modules文件夹: rm -rf node_modules && npm install .\\
  3. 重置 Metro Bundler 缓存: rm -rf /tmp/metro-bundler-cache-*npm start -- --reset-cache
  4. 删除快速缓存: rm -rf /tmp/haste-map-react-native-packager-*

这些都不起作用:

  1. Watchman 是一个找不到的命令。
  2. 我可以删除/ ,重新安装node_modules 但问题仍然存在。
  3. tmp目录不存在。
  4. tmp目录不存在。

希望有人知道我在这里缺少什么。

我刚刚升级了npm 删除了node_modules并重新安装了所有内容,但我遇到了完全相同的问题。

在我的 iOS 模拟器上,它在错误页面上有一个“额外信息”按钮,但它是空的。

aws-amplifyaws-amplify-react-native存在于node_modules目录中。 我会继续努力,但我没有想法。

我一直在尝试降级依赖项,但这让我陷入了一个我不想成为的依赖兔子洞。

我发现的另一件事是,所有与aws-amplify相关的软件包都有相同的问题:

无法从“App.js”解析“aws-amplify-react”构建 JavaScript 包失败。

import 'amplify'也是如此

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "test": "jest --watchAll"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@expo/samples": "~3.0.3",
    "@expo/vector-icons": "^10.0.3",
    "@react-navigation/web": "^1.0.0-alpha.9",
    "aws-amplify": "^1.1.33",
    "aws-amplify-react-native": "^2.1.16",
    "expo": "^34.0.1",
    "expo-asset": "^6.0.0",
    "expo-constants": "6.0.0",
    "expo-font": "~6.0.1",
    "expo-web-browser": "6.0.0",
    "react": "16.8.3",
    "react-dom": "^16.8.6",
    "react-native": "https://github.com/expo/react-native/archive/sdk-34.0.0.tar.gz",
    "react-native-gesture-handler": "~1.3.0",
    "react-native-web": "^0.11.4",
    "react-navigation": "^3.11.0"
  },
  "devDependencies": {
    "babel-preset-expo": "^6.0.0",
    "jest-expo": "^34.0.0"
  },
  "private": true
}

在花了几个小时试图弄清楚这一点后,我将 aws-amplify 版本降级为之前使用我的 expo 应用程序工作的版本。 一旦我降级它,它就运行得很好。

我想知道为什么它以前有效而不是现在有效,而且似乎较新版本的 amplify 还不能用于 react-native/expo 项目。

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM