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

问题描述 投票:0回答:6

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

cd iOS && pod install

但是我在标题上遇到了这个错误

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
#  -------------------------------------------

我该怎么办?

我的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

我的 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"
},

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

react-native cocoapods
6个回答
8
投票

我刚刚删除了node_modules,然后运行

npm i
再运行
pod install
解决了错误


6
投票

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

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

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

yarn

3-访问iOS页面并安装pods

cd ios && pod install

6
投票

我通过禁用 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
文件的位置并尝试在终端上执行节点命令 - 您可能会获得有关系统上正在发生的情况的更多线索。祝你好运。


4
投票

再次执行“yarn install”就成功了


0
投票

就我而言,它是节点 14。删除 package-lock.json 和 node_moduled 不起作用

我切换到node 20,删除package-lock.json和node_module。 现在 iOS 构建正在运行


0
投票

就我而言,当我将项目react-native版本升级到

0.72.7
并删除
package="..."
的根
<manifest >
中的
main/Android Manifest.xml
时,就会发生这种情况。

不知道为什么react-native会将包名称从Android获取到iOS podfile。但只需重新添加

package="..."
即可解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.