Я только что создал компонент для React-Native, который скоро отправлю в npm в виде пакета. Хотя я столкнулся с проблемой.
Компонент зависит от другого пакета npm с именем react-native-image-resizer
. Этот пакет должен быть связан с rnpm
для работы.
Хотя, когда я просто устанавливаю свой компонент в совершенно новый проект, зависимость не будет автоматически связана, и нативная библиотека не появится в проекте. Конечно, когда я запускаю rnpm link
, он тоже не добавит его в проект.
Поэтому мне интересно, как лучше всего установить и связать эту зависимость?
MacBook-Pro:Example $ npm install react-native-image-crop
> [email protected] preinstall /Users/alexmngn/Work/react-native-image-crop/Example/node_modules/.staging/react-native-image-crop-95365d1b
> npm install --save react-native-image-resizer
[email protected] (git+ssh://[email protected]/alexmngn/react-native-image-crop.git#90e002c7d0f01c9d61277c30cad375560f09a94a) /Users/alexmngn/Work/react-native-image-crop/Example/node_modules/.staging/react-native-image-crop-95365d1b
├── UNMET DEPENDENCY react-native@^0.31.0
└── [email protected]
npm WARN [email protected] requires a peer of react-native@>=v0.14.2 but none was installed.
npm WARN [email protected] No repository field.
- [email protected] node_modules/react-native-image-crop/node_modules/react-native-image-resizer
[email protected] /Users/alexmngn/Work/react-native-image-crop/Example
└── [email protected] (git+ssh://[email protected]/alexmngn/react-native-image-crop.git#90e002c7d0f01c9d61277c30cad375560f09a94a)
MacBook-Pro:Example $ rnpm link
MacBook-Pro:Example $ # Nothing gets linked here...
Кроме того, как вы можете видеть здесь, у меня возникает проблема неудовлетворенных одноранговых зависимостей с react-native, когда я устанавливаю свой компонент в своем примерном проекте, даже если он правильно указан (с правильной версией) в моих зависимостях в package.json:
{
"name": "Example",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start"
},
"dependencies": {
"react": "15.2.1",
"react-native": "^0.31.0",
"react-native-image-crop": "git+ssh://github.com/alexmngn/react-native-image-crop.git"
}
}
Есть идеи, почему он жалуется?
Репозиторий компонента доступен здесь: http://github.com/alexmngn/react-native-image-crop.git
Спасибо