Какие есть способы установки сторонних библиотек в проект?
В React Native можно подключать сторонние библиотеки для расширения функциональности проекта. Это могут быть UI-компоненты, модули доступа к аппаратуре устройства (камера, геолокация и т.д.), средства навигации, анимации, работа с API и прочее. Сторонние библиотеки можно устанавливать через менеджеры пакетов (npm или yarn) и — в некоторых случаях — требуются дополнительные действия по связыванию нативного кода (особенно в старых версиях React Native). Рассмотрим все способы установки и настройки сторонних библиотек в React Native-проекте.
1. Использование npm и yarn — основные способы установки
С помощью npm (Node Package Manager)
npm install название_библиотеки
Пример:
npm install axios
С помощью yarn (альтернатива npm)
yarn add название_библиотеки
Пример:
yarn add react-native-vector-icons
Команды делают одно и то же — устанавливают библиотеку и добавляют её в dependencies файла package.json.
2. Установка с указанием версии
Если нужна определённая версия:
npm install react-native-reanimated@2.12.0
или
yarn add react-native-reanimated@2.12.0
3. Установка библиотеки из GitHub-репозитория или файла
Если библиотека не опубликована в npm или вы хотите использовать конкретную ветку:
npm install git+https://github.com/пользователь/репозиторий.git
Можно указать путь к локальной папке:
npm install ./папка_с_библиотекой
4. Установка зависимостей для Expo-проектов
Если вы используете Expo, установка некоторых библиотек происходит по-другому.
Через expo install:
expo install react-native-screens react-native-safe-area-context
Эта команда автоматически подбирает совместимую версию библиотеки с текущей версией Expo SDK.
Также можно установить библиотеку, которая уже встроена в Expo, без нативной сборки:
expo install expo-camera
Важно: если вы работаете через expo, вы не можете подключать нативные модули напрямую, если не используете EAS (Expo Application Services) или не "eject'нулись" из Expo.
5. Подключение нативных модулей
Если библиотека использует нативный код (Java/Kotlin/Obj-C/Swift), React Native должен связать этот код с проектом.
Автоматическая линковка (autolinking)
В новых версиях React Native (0.60 и выше) модули автоматически связываются при установке:
npm install react-native-device-info
И всё, больше делать ничего не нужно — React Native сам подключит зависимости.
Ручная линковка (устаревшее, но может встречаться)
Если используется старая версия React Native (<0.60) или модуль не поддерживает autolinking:
react-native link название_библиотеки
Пример:
react-native link react-native-vector-icons
В некоторых случаях может потребоваться ручное редактирование android/app/build.gradle или Info.plist на iOS.
6. Установка дополнительных зависимостей для iOS (CocoaPods)
Если вы устанавливаете библиотеку с нативной частью и работаете без Expo, для iOS потребуется выполнить pod install.
Шаги:
- Перейти в папку ios:
cd ios
- Установить pods:
pod install
- Вернуться в корень проекта:
cd ..
Требуется установленный CocoaPods и Xcode (на macOS).
Если CocoaPods не установлен:
sudo gem install cocoapods
7. После установки — перезапуск сборки
После добавления библиотеки обязательно перезапустите сборку:
Если вы используете Expo:
```python
expo start --clear
- Если без Expo:
**Android**:
<br/>```python
npx react-native run-android
iOS:
```python
npx react-native run-ios
Иногда помогает перезапуск Metro bundler:
```python
npx react-native start --reset-cache
8. Проверка доступности библиотеки
После установки вы можете импортировать библиотеку в любом файле:
import DeviceInfo from 'react-native-device-info';
Если библиотека требует вызов инициализации (например, react-native-splash-screen), нужно следовать документации.
9. Установка типов (TypeScript)
Если проект использует TypeScript и библиотека не содержит встроенные типы, их нужно установить вручную:
npm install --save-dev @types/название_библиотеки
Пример:
npm install --save-dev @types/react-native-vector-icons
10. Поиск и выбор библиотек
Наиболее надёжные и используемые библиотеки находятся в:
-
https://reactnative.directory — каталог всех популярных библиотек;
-
https://npmjs.com — поиск по npm;
-
GitHub — исходный код и документация.
Прежде чем устанавливать библиотеку, убедитесь в:
-
активности репозитория (обновлялся ли он недавно),
-
количестве загрузок и звёзд,
-
наличии поддержки текущей версии React Native.
Примеры популярных библиотек
Назначение | Библиотека |
---|---|
HTTP-запросы | axios, fetch |
--- | --- |
Навигация | @react-navigation/native |
--- | --- |
Иконки | react-native-vector-icons |
--- | --- |
Анимации | react-native-reanimated |
--- | --- |
Формы и валидация | formik, react-hook-form, yup |
--- | --- |
Хранилище | @react-native-async-storage/async-storage |
--- | --- |
Работа с файлами | react-native-fs |
--- | --- |
Камера | react-native-camera, expo-camera |
--- | --- |
Push-уведомления | react-native-push-notification, notifee |
--- | --- |
Работа с Bluetooth / BLE | react-native-ble-plx |
--- | --- |
Советы при установке библиотек
-
Читайте документацию — большинство проблем возникает из-за неправильной настройки.
-
Проверяйте совместимость с React Native/Expo.
-
Избегайте дублирующих пакетов (например, @react-native-community/async-storage устарел, теперь @react-native-async-storage/async-storage).
-
При необходимости используйте monorepo-инструменты (например, yarn workspaces) для управления зависимостями в больших проектах.
Установка сторонних библиотек в React Native — это не только установка через npm, но и внимательная настройка в зависимости от платформы, наличия нативного кода, использования Expo и архитектуры проекта.