npx pod-install 返回“此项目不支持 CocoaPods”

Xav*_*eer 8 cocoapods react-native expo react-native-video pod-install

上下文:我正在尝试使用react-native-video. iOs 安装说明以npx pod-install.

跑步:

npx pod-install
Run Code Online (Sandbox Code Playgroud)

返回:

npx: installed 1 in 1.113s
Scanning for pods...
CocoaPods is not supported in this project
Run Code Online (Sandbox Code Playgroud)

输出消息对我还没有帮助。所以我去了npm pod-install。看起来它抽象了 CocoaPods 和 gem 复杂性。

有没有比学习 CocoaPods 和 gem 更简单的方法来解决这个问题?


包.json

{
  "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"
  },
  "dependencies": {
    "expo": "~37.0.3",
    "react": "~16.9.0",
    "react-dom": "~16.9.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",
    "react-native-video": "^4.4.5",
    "react-native-web": "~0.11.7"
  },
  "devDependencies": {
    "babel-preset-expo": "~8.1.0",
    "@babel/core": "^7.8.6"
  },
  "private": true
}
Run Code Online (Sandbox Code Playgroud)

And*_*rew 6

您收到错误的原因是您正在使用 Expo 构建 React-Native 项目。

Expo 会从您那里推断出本机代码,这样您就不必处理本机代码。此外,Expo 项目不允许您编辑本机代码。Cocoapods 将本机代码添加到您的应用程序,因此这就是您收到错误的原因。

如果您希望在 Expo 项目中使用视频,那么您应该查看 Expo 提供的内容,视频文档在此处

如果这不符合您的需求并且您需要使用,react-native-video那么您需要eject从 Expo到您的项目,以便它成为一个完整的 React-Native 项目。这不是您应该轻而易举地执行的步骤,也不是首先对其进行充分研究。

我还建议您熟悉这个SO 问题的答案,该问题解释了 Expo 和 React-Native 之间的差异