无效的“Podfile”文件:767:“”处有意外标记

Ger*_*ano 8 cocoapods react-native

我正在尝试使用 React Native 运行我的 IOS 应用程序,但我需要更新我的 Pod。所以我在终端上运行:

cd iOS && pod install
Run Code Online (Sandbox Code Playgroud)

但我在标题上收到此错误

internal/modules/cjs/loader.js:888
  throw err;
  ^

Error: Cannot find module '/Users/my-user/Documents/Test/my-app/ios/undefined'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15)
    at Function.Module._load (internal/modules/cjs/loader.js:730:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

[!] Invalid `Podfile` file: 767: unexpected token at ''.
#  from /Users/my-user/Documents/Test/my-app/ios/Podfile:12
#  -------------------------------------------
#  
>    use_native_modules!
#  end
#  -------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我应该怎么办?

我的Podfile如下

# Uncomment the next line to define a global platform for your project
platform :ios, '11.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'


target 'MyApp' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp

  use_native_modules!
end
Run Code Online (Sandbox Code Playgroud)

我的 package.json 文件使用此依赖项:

"dependencies": {
  "@react-native-community/async-storage": "^1.12.1",
  "@react-native-community/cli-platform-ios": "^3.0.0",
  "@react-native-community/netinfo": "8.3.0",
  "@sentry/react-native": "3.4.3",
  "@virgilsecurity/e3kit": "^0.7.0-beta.2",
  "@virgilsecurity/key-storage-rn": "^0.2.1",
  "appcenter-cli": "^2.1.2",
  "moment": "2.29.3",
  "react": "16.9.0",
  "react-native": "0.61.3",
  "react-native-calendars": "1.259.0",
  "react-native-code-push": "6.0.0",
  "react-native-extended-stylesheet": "^0.12.0",
  "react-native-fast-image": "^8.5.11",
  "react-native-fbsdk": "^3.0.0",
  "react-native-firebase": "^5.5.6",
  "react-native-fs": "^2.14.1",
  "react-native-gifted-chat": "^0.13.0",
  "react-native-image-picker": "^1.0.2",
  "react-native-keep-awake": "^4.0.0",
  "react-native-keychain": "^4.0.1",
  "react-native-masked-text": "^1.13.0",
  "react-native-push-notification": "^8.1.1",
  "react-native-twilio-video-webrtc": "^2.0.0",
  "react-native-vector-icons": "^5.0.0",
  "react-native-virgil-crypto": "^0.6.1",
  "react-native-webview": "^7.4.1",
  "react-redux": "^8.0.2",
  "react-router": "^5.1.2",
  "react-router-dom": "^5.1.2",
  "react-router-native": "^5.1.2",
  "realm": "6.0.3",
  "redux": "^4.2.0",
  "redux-thunk": "^2.4.1"
},
Run Code Online (Sandbox Code Playgroud)

如果我使用 use_native_modules!从代码来看,它可以正常工作。但对他来说却不是这样

Muf*_*mid 10

我刚刚删除了node_modules,然后跑了npm i再跑pod install解决了错误


小智 7

我通过禁用 VS Code 的调试器自动附加功能在我的计算机上解决了这个问题。该功能导致 Node 发出额外的控制台输出,而native_modules.rb文件无法解析这些输出。

此错误可能是由许多本地配置问题引起的。所以我的解决方案可能不适合你。如果禁用 VS Code 自动附加无法解决您的问题,您可以通过以下方式进行更多调查:

unexpected token at ''是一个JavaScript错误。如果您转到错误产生的 Ruby 文件(通常../node_modules/@react-native-community/cli-platform-ios/native_modules.rb),您可以看到它正在尝试使用 Node.js 从您的 node_modules 打开一些 JS 文件。在您的终端中,cd找到文件的位置native_modules.rb并尝试在终端上执行 Node 命令 - 您可能会获得有关系统上发生的情况的更多线索。祝你好运。


Ger*_*ano 6

最后!!!通常,要安装我的 Pod,我只需要做 3 件事。

1-从package.json中删除包@react-native-community/cli-platform-ios

2-在终端上,访问主应用程序文件夹并更新 node_modules 上的更改

yarn
Run Code Online (Sandbox Code Playgroud)

3-访问iOS页面并安装pod

cd ios && pod install
Run Code Online (Sandbox Code Playgroud)