сбой связывания: Ошибка: не удается найти модуль 'babel-preset-Reaction-native' из '/ workspace / реактивативный' ' - PullRequest
0 голосов
/ 15 января 2019

Я обновил react-native до v0.57 и react-native run-ios не удается. Я заменил babel-preset-react-native на metro-react-native-babel-preset, как указано в https://www.npmjs.com/package/babel-preset-react-native., вот трассировка стека ошибок, которую я получаю.

error: bundling failed: Error: Cannot find module 'babel-preset-react-native' from '/Users/buraktas/workspace/reactnative'
- If you want to resolve "react-native", use "module:react-native"
    at Function.module.exports [as sync] (/Users/buraktas/workspace/reactnative/node_modules/@babel/core/node_modules/resolve/lib/sync.js:58:15)
    at resolveStandardizedName (/Users/buraktas/workspace/reactnative/node_modules/@babel/core/lib/config/files/plugins.js:101:31)
    at resolvePreset (/Users/buraktas/workspace/reactnative/node_modules/@babel/core/lib/config/files/plugins.js:58:10)
    at loadPreset (/Users/buraktas/workspace/reactnative/node_modules/@babel/core/lib/config/files/plugins.js:77:20)
    at createDescriptor (/Users/buraktas/workspace/reactnative/node_modules/@babel/core/lib/config/config-descriptors.js:154:9)
    at items.map (/Users/buraktas/workspace/reactnative/node_modules/@babel/core/lib/config/config-descriptors.js:109:50)
    at Array.map (<anonymous>)
    at createDescriptors (/Users/buraktas/workspace/reactnative/node_modules/@babel/core/lib/config/config-descriptors.js:109:29)
    at createPresetDescriptors (/Users/buraktas/workspace/reactnative/node_modules/@babel/core/lib/config/config-descriptors.js:101:10)

package.json

{
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "rnpm": {
    "assets": [
      "./assets/fonts/"
    ]
  },
  "dependencies": {
    "axios": "^0.17.1",
    "moment": "^2.20.1",
    "moment-timezone": "^0.5.14",
    "react": "16.2.0",
    "react-native": "^0.57.8",
    "react-native-branch": "^2.3.0",
    "react-native-camera": "^1.0.0",
    "react-native-datepicker": "^1.6.0",
    "react-native-deep-linking": "^2.1.0",
    "react-native-fabric": "^0.5.1",
    "react-native-keyboard-aware-scroll-view": "^0.4.3",
    "react-native-modal": "^4.1.1",
    "react-navigation": "^1.0.0-beta.22",
    "react-redux": "^5.0.6",
    "redux": "^3.7.2",
    "redux-form": "^7.1.2",
    "redux-saga": "^0.16.0",
    "stripe-client": "^1.1.3"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0",
    "@babel/preset-flow": "^7.0.0",
    "babel-core": "^7.0.0-bridge.0",
    "babel-eslint": "^10.0.1",
    "babel-jest": "^23.4.2",
    "babel-preset-airbnb": "^3.2.0",
    "detox": "^9.0.4",
    "eslint": "^5.12.0",
    "eslint-config-airbnb": "^17.1.0",
    "eslint-plugin-import": "^2.14.0",
    "eslint-plugin-jsx-a11y": "^6.1.2",
    "eslint-plugin-react": "^7.12.3",
    "eslint-plugin-react-native": "^3.6.0",
    "jest-cli": "^23.6.0",
    "metro-react-native-babel-preset": "^0.51.1",
    "react-test-renderer": "16.0.0",
    "remote-redux-devtools": "^0.5.12"
  },
  "jest": {
    "preset": "react-native"
  }
}

.babelrc

{
  "presets": [
    "airbnb",
    "@babel/preset-env",
    "module:react-native",
    "module:metro-react-native-babel-preset"
  ]
}

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Удаление файла .babelrc исправит это для вас.

Пожалуйста, проверьте, работает ли помощник по обновлению

https://react -native-community.github.io / обновить-хелперов

и укажите текущую версию React и версию для обновления (0,57 в вашем случае)

Вы увидите, что в вашем случае необходимо внести изменения, чтобы код был совместим с обновленной версией

enter image description here

0 голосов
/ 15 января 2019

Глядя на ваш package.json, похоже, что все, что вы сделали, - это обновите версиюact-native до последней версии.

К сожалению, это не так просто, как изменить номер версии в package.json. Вы не указываете, какую версию реакции-натива вы использовали ранее, но, поскольку вы используете React 16.2.0, я бы рискнул предположить, что вы использовали ответную нативную версию 0,52 или 0,53.

Для обновления вы должны посмотреть разницу между вашей версией и версией, которую вы обновляете. rn-diff-purge показывает изменения между которыми необходимо выполнить. Для обновления 0.52.0 до 0.57.8 вы можете увидеть изменения здесь , для 0.53.0 до 0.57.8 вы можете увидеть изменения здесь .

Вы можете проверить список изменений https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md, чтобы увидеть более конкретные требования для обновления между версиями.

Также стоит обратиться к https://facebook.github.io/react-native/docs/upgrading за советами о том, как выполнить обновление.

...