npx pod-install возвращает "CocoaPods не поддерживается в этом проекте"

Контекст: я пытаюсь создать приложение React Native с react-native-video. Инструкция по установке iOs начинается сnpx pod-install.

Бег:

npx pod-install

Возврат:

npx: installed 1 in 1.113s
Scanning for pods...
CocoaPods is not supported in this project

Выходное сообщение мне пока не помогло. Итак, я пошел к npm pod-install. Похоже, он абстрагирует CocoaPods и сложность драгоценных камней.

Есть ли более простой способ решить эту проблему, чем изучение CocoaPods и gem?


package.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
}

4 ответа

Решение

Причина, по которой вы получаете сообщение об ошибке, заключается в том, что вы создаете свой проект React-Native с помощью Expo.

Expo экстраполирует собственный код подальше от вас, чтобы вам не приходилось иметь дело с собственным кодом. Также проект Expo не позволяет редактировать собственный код. Cocoapods добавляет собственный код в ваше приложение, поэтому вы получаете ошибку.

Если вы хотите использовать видео в проекте Expo, вам следует посмотреть, что поставляется с Expo, документация для видео находится здесь.

Если это не соответствует вашим потребностям, и вам нужно использовать react-native-video тогда вам нужно будет ejectваш проект из Expo, чтобы он стал полноценным проектом React-Native. Это не тот шаг, который вам следует делать легкомысленно и без предварительного его полного исследования.

Я также предлагаю вам ознакомиться с ответами на этот вопрос SO, который объясняет различия между Expo и React-Native.

Вы можете использовать команду ниже npm i pod-install

Вы должны проверить текущую папку, в которой находитесь, и убедиться, что вы находитесь в корневом каталоге проекта в терминале.

Я рекомендую использовать видеотеку expo, если вы только столкнулись с этой проблемой с react-native-video. Инструкции из их документов: https://docs.expo.io/versions/latest/sdk/video/

      expo install expo-av

import { Video } from 'expo-av';

<Video
  source={{ uri: 'http://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4' }}
  rate={1.0}
  volume={1.0}
  isMuted={false}
  resizeMode="cover"
  shouldPlay
  isLooping
  style={{ width: 300, height: 300 }}
/>
Другие вопросы по тегам