๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ํ์ ์ค์ ์ผ๋ก ๊ธฐ์กด ํ๋ก์ ํธ๋ฅผ ๋ณต์ ํ๊ณ yarn install
๋ฐ node node_modules/react-native/local-cli/cli.js run-ios
. ์์๋์์ง๋ง ํจ์ปค๊ฐ ๋ค์๊ณผ ๊ฐ์ด ์คํจํ์ต๋๋ค.
error: bundling: UnableToResolveError: Unable to resolve module `AccessibilityInfo` from `/Users/phillipp/Work/***/***/node_modules/react-native/Libraries/react-native/react-native-implementation.js`: Module does not exist in the module map or in these directories:
/Users/phillipp/Work/***/***/node_modules/react-native/node_modules
, /Users/phillipp/Work/***/***/node_modules
/Users/phillipp/Work/***/***/node_modules/react-native/Libraries/react-native/react-native-implementation.js
ํ์ผ์์ get AccessibilityInfo() { return require('AccessibilityInfo'); },
์ ์ฐพ์์ง๋ง ์ด๋์ ๊ทธ๊ฒ์ ์๊ตฌํ๊ณ ์ถ์์ง ์ ์ ์์ต๋๋ค. RN์ ํต์ฌ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๊ถ๊ธํ์ ๋ถ๋ค์ ์ํ package.json
๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{
"name": "***",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"base64-js": "^1.2.0",
"react": "^16.0.0-alpha.6",
"react-native": "^0.44.0",
"react-native-ble-manager": "^3.2.0",
"react-native-checkbox": "^1.1.0",
"react-native-color-picker": "^0.2.1",
"react-native-drawer": "^2.3.0",
"react-native-dropdown": "0.0.6",
"react-native-image-picker": "^0.25.5",
"react-native-list-popover": "^1.0.5",
"react-native-modal-picker": "0.0.16",
"react-native-orientation": "^1.17.0",
"react-native-router-flux": "^3.37.0",
"react-native-selectbox": "^0.1.0",
"react-native-selection": "^1.3.5",
"react-native-selectme": "^1.2.3",
"react-native-sound": "^0.9.1",
"react-native-vector-icons": "^4.0.1"
},
"devDependencies": {
"babel-jest": "18.0.0",
"babel-preset-react-native": "1.9.1",
"jest": "18.1.0",
"react-test-renderer": "~15.4.0"
},
"jest": {
"preset": "react-native"
}
}
๋๋ ์ด๋ฏธ ์ธํฐ๋ท์์ ์ฐพ์ ๋ชจ๋ ๊ฒ์ ์๋ํ์ต๋๋ค(๋ ธ๋ ๋ชจ๋ ์ฌ์ค์น, npm, yarn ๋ฐ watchman ์บ์ ์ฒญ์, ์์ ๋๋ ํ ๋ฆฌ์์ ๋ฐ์ ํ์ผ ์ญ์ ๋ฑ).
^0.44.0
ios
๋์ผํ ๋ฌธ์ ๊ฐ ์ฌ๊ธฐ์ ์์ต๋๋ค. 2์ผ ์ ์ ๋ง๋ ํ๋ก์ ํธ๊ฐ ์ฌ์ ํ ์๋ํฉ๋๋ค. ์ค๋ react-native init
๋ง๋ ์ ํ๋ก์ ํธ๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ์ ๊ฒฝ์ฐ์๋ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ ์ด 0.44.0์์ 0.44.2๋ก ๋ณ๊ฒฝ๋์๋ค๋ ์ฐจ์ด์ ์ด ์์ต๋๋ค. ์ ํ๋ก์ ํธ์์ package.json์ react-native ๋ฒ์ ์ 0.44.0์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ์๋ํฉ๋๋ค.
init๋ฅผ ์คํํ ํ ๊ฐ์๊ธฐ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค... :-(
์ฌ๊ธฐ๋ ๊ฐ์ ๋ฌธ์
node_modules
๋ฅผ ์ญ์ ํ ๋ค์ npm install
๋ฅผ ์คํํ ํ์๋ ์ด ๋ฌธ์ ๊ฐ ๊ณ์ ๋ฐ์ํฉ๋๊น?
@hramos
node_modules๋ฅผ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ๋ ค๊ณ ์๋ํ์ง๋ง ์๋ํ์ง ์์ต๋๋ค.
@hramos ํ ์์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
์ด์ react-native-git-upgrade ๋ด ํ๋ก์ ํธ๋ฅผ 0.44.0์์ 0.44.1๋ก ์ฌ์ฉํ์ต๋๋ค. ๊ด์ฐฎ์ต๋๋ค. ์๋ฒฝํฉ๋๋ค. ํ์ง๋ง ์ง๊ธ์ react-native-git-upgrade ๋ด ํ๋ก์ ํธ๋ฅผ 0.44.1์์ 0.44.2๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋์ผํ ๋ฌธ์ ์ ๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ 0.44.1์ 0.44.2๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง. ๊ทธ๋ฌ๋ 0.44.2์์ 0.44.1๋ก ๋ค์ด ๊ทธ๋ ์ด๋ ํ ํ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ง๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์์ผ๋ก ๋์ ์์ต๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง.
์๋๋ก์ด๋์์ ๊ฐ์ ์ค๋ฅ
Android์์ ๋์ผํ๊ณ node_modules๋ฅผ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ๋ฉด ์๋ํ์ง ์์ต๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๊ฑฐ์ ์ ์ฒด ํ์ด ์ด ์ค๋ฅ์ ๊ฐํ์ต๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง
์ฌ๊ธฐ์์ ๋์ผํ ์๋ฃจ์ ์ด ์์ต๋๊น?
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง
๋๋ v 0.44.0์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค.
@sirgalleto v0.44.0
๋ค์ด๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ํด๊ฒฐ์ฑ
์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค . react-native-router-flux
ํจํค์ง์ ์๊ตฌ ์ฌํญ์ ๋ณ๊ฒฝํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ https://github.com/aksonov/react-native-router-flux/issues/1904 ๋ผ์ธ์ ๋ฐ๋ผ ๋ฌด์ธ๊ฐ๊ฐ ๋ ์ ์๋ค๊ณ ํ์ ํฉ๋๋ค. .
@RohanVB , @sirgalleto 0.44.1๋ก ์ด๋ํ๋ ๊ฒ์ ๊ด์ฐฎ์ต๋๋ค. 0.44.0์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ์ ๋๋ค.
@valinaga ๋ฐ์ ๋ค์ดํฐ๋ธ ํจํค์ง ๋ฒ์ ์ ๋ฌธ์ ๊ฐ ์๋๋ผ ๋ฐ์์ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ผ์ฐํฐ ํ๋ญ์ค์ ๋ํ ์ง์์ ํ์ฌ 16.0.0-alpha.6์ผ๋ก ํ์ฅ๋์ง ์์ต๋๋ค.
"http" ๋ชจ๋๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋๋ v0.44.0์์๋ค
์ฌํ์ ๋๊ธฐ ์ํด ์ถ๊ฐ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง ์๋ ํ "๋๋" ๋๊ธ์ ์ถ๊ฐํ์ง ๋ง์ญ์์ค. ๋์ ๋ฌธ์ ๋ฅผ ๊ตฌ๋ ํ๊ณ ์๋ณธ ๊ฒ์๋ฌผ์ ๋ํ ๋ฐ์์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฐ์ฌ ํด์!
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง. ๋ด๊ฐ ์ฌ์ฉํ๋ ๋ ์ฌ๋ผ npm
๋์ yarn
.
@hramos ์ฌ๋๋ค์ด ์ด๋ฐ ๋ฌธ์ ์ ๋ํ ๊ณตํฌ๊ฐ์ ํํํ๋ ค๊ณ ํ๋ ๊ฒ ๊ฐ์์ :)
๋ฐฉ๊ธ 0.44.2
-> 0.44.3
์์ ์ด ์
๊ทธ๋ ์ด๋๋ฅผ 0.44.2
์ด๊ฒ์ ๋ฐฉ๊ธ ๋์๊ฒ ์ผ์ด๋ฌ๊ณ ํฌํธ 8081์์ '๋ ธ๋' ํ๋ก์ธ์ค๊ฐ ์ค๋จ๋์ด ๋ฐ์ ํจํค์ง ํ๋ก๊ทธ๋จ์ ์ ์ธ์คํด์ค๊ฐ ์์๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๋ killall -9 ๋ ธ๋๋ฅผ ํ ๋ค์ ๊ด์ฐฎ์ต๋๋ค.
"๋ฐ์ ๋ค์ดํฐ๋ธ"๋ก ๋ณ๊ฒฝ: "0.44.0",
react-native๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํ์ญ์์ค.
๊ฐ์ฌํฉ๋๋ค
ํ์ฌ 0.45์ ์์ผ๋ฉฐ ์์ฒด ๋ฌธ์ ๊ฐ ์์ต๋๋ค(#14246). #14246์ด ์์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ ธ๋ค๊ฐ 0.45๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
"react-native": "0.44.0"์ ์คํํ๋ ๋น์ทํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ ธ๋ ๋ชจ๋์ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํ์ผ๋ฉฐ ํฐ๋ฏธ๋์์ "killall -9 node"๋ ์คํํ๋๋ฐ ํ๋ก์ ํธ๊ฐ ๋ค์ ์คํ๋๊ณ ์์ต๋๋ค.
์ด๋ฆฌ์๊ฒ ๋ค๋ฆฌ์ง๋ง ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๋ ๊ฒ์ด ํด๊ฒฐ์ฑ ์ด ๋ ์ ์์ต๋๋ค!
๋ฒ์ ์ ๋ณ๊ฒฝํ๋๋ฐ ์ด์ ๋ค์ ์๋์ด ๋์๊ณ ๋ฒ์ ์ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค. "0.44.0"์ผ๋ก ๋์๊ฐ์ ๋ค์ ์๋ํ์ต๋๋ค.
์ด์ 0.45.1์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด 0.45.1์์๋ ์ฌ์ ํ ์ฌํ๋๋์ง ํ์ธํ ์ ์์ต๋๊น?
์ด๊ฒ์ 0.45.1์์๋ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค. ์์ ๋ชจ๋ ์ฌ๋๊ณผ ๋์ผํ ์ฌํ ๋จ๊ณ.
์ฌ์ค ๋ ๊ฐ๋จํ ํ
์คํธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. new folder, npm install [email protected]
์ฝ์์ ์ด๊ณ ๋ค์์ ์คํํฉ๋๋ค.
require('react-native').AccessibilityInfo
Error: Cannot find module 'AccessibilityInfo'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.get AccessibilityInfo [as AccessibilityInfo] (/Users/laika/x/node_modules/react-native/Libraries/react-native/react-native-implementation.js:19:36)
at repl:1:24
at ContextifyScript.Script.runInThisContext (vm.js:23:33)
at REPLServer.defaultEval (repl.js:339:29)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
์ฌ๋ฌ ๊ธฐ๊ณ/ํ๊ฒฝ์์ ์ฌํ๋ฉ๋๋ค.
์ด๊ฒ์ ์๋ก์ด ํ๋ก์ ํธ์์ ๋๋ฅผ ์ํด ์ฌํ๋์ง ์์ต๋๋ค. ๋ ๋ ธ๋ ฅ ํ์ด:
react-native init Test
cd Test
react-native run-ios
๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ : 0.45.1
์์ฌ ๋ฒ์ : 0.24.3
macOS ์์๋ผ, Xcode 8.3.3
๋ํ 0.42๋ฅผ ์ฌ์ฉํ๋ ์ด์ ํ๋ก์ ํธ๋ฅผ 0.45.1์ ์ฌ์ฉํ๋๋ก ์ ๊ทธ๋ ์ด๋ํ๋๋ฐ ๋ฌธ์ ๋ฅผ ์ฌํํ ์ ์์์ต๋๋ค.
์ด๊ฒ์ ์ฌ์ ํ โโ0.45.1์์ ์ฌํ๋ฉ๋๋ค.
NewProject๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ด๊ธฐํํ ์ ์์ต๋๋ค. ์ด์ ํ๋ก์ ํธ์์ cocoapods์ ํจ๊ป ์ฌ์ฉํฉ๋๋ค.
๋ฒ์ :
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 2.0.1
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.45.1
์์ฌ:0.24.5
macOS ์์๋ผ, Xcode 8.3.2
๋ฐฉ๊ธ 'react-native init'์ ๋๋ฅธ ๋ค์ 'react-native run-ios'๋ฅผ ๋๋ฅด๊ณ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ํ๋ฉด ์ ์๋ ค์ง ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. '๋ชจ๋ AccessibilyInfo๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค'
๋ฒ์ :
macOS Sierra์์ ๋ฐ์ ๋ค์ดํฐ๋ธ 0.45.1
๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ๊ณ์ํด์ ์ข์ ์ผ์ ํ์ธ์!
ํธ์ง: ๋ฐฉ๊ธ ์ด ๋ชจ๋์ด ํ์ํ ์ค์ ์ญ์ ํ์ต๋๋ค. ์ด์ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค. Noob fix ๐
๋ด node_modules ํด๋๋ฅผ ์ญ์ ํ์ต๋๋ค
๊ทธ ๋ค์์:
npm install
npm start -- --reset-cache
๋๋ฅผ ์ํด ๊ทธ๊ฒ์ ๊ณ ์ณค๋ค.
์ต์ ๋ฒ์ ์ [email protected] ๋ฐ node@latest ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ์ต๋๋ค... ์ด์ ๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ด์ react-native init๊ฐ ์๋ํฉ๋๋ค...
์ด npm ๋ฌธ์ ์ ๊ด๋ จ์ด ์์ ์ ์์ต๋๋ค.
https://github.com/npm/npm/issues/16839#issuecomment -308809150
์ ๋ ๊ดด์ง๊ฐ ์๋๋๋ค. ํ์ง๋ง ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋ฌด์์ด ๋์์ด ๋์๋์ง ์๋ ค์ฃผ์ค ์ ์์ผ์ ๊ฐ์? ๋๋ ์๋ํ๋ค :
๋๋ ๋ฐ์ ๋ค์ดํฐ๋ธ 0.44.3์์ ์คํ ์ค์ ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ๋ง์ ๊ฐ์ฌ
// ์๋ชฌ
@skalbfell @MehdiAlouafi๊ฐ ์ง์ ํ ๋๋ก ์ด ์ค ์ ์ญ์ ํ๋๋ฐ ์๋ํฉ๋๋ค.
์ฒ์ ์ญ์ ํ ๋๋ ์๋ํ์ง๋ง ๋ ๋ฒ์งธ๋ก ์ญ์ ํ์ ๋(ํ
๋ด๊ฐ ๋ฏฟ๋ ๋ค๋ฅธ ์ข
์์ฑ ์ค์น) ์ฑ์ด ๋๊ฐ์ ๊ฒ์ ๋์ก์ต๋๋ค.
error ํ์ง๋ง.. ๋ค์ ์ค์ ํ์ํ ํจํค์ง๊ฐ ์์ต๋๋ค!
๋๋ ์ด๊ฒ์ด npm ๋ฌธ์ , ๊ฐ๋จํ npm ์ค์น๋ผ๊ณ ์๊ฐํฉ๋๋ค.
react-native@latest ํ์ ๋ชจ๋ ๊ฒ์ด ๋ค์ ์๋ํฉ๋๋ค.
--
๋ฉ๋ ์ OUAFI
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ฃผ๋์ด
ํ๋ฆฌ, ํ๋์ค
ํฌํธํด๋ฆฌ์ค http://mehdialouafi.github.io/Portfolio/ - Behance
https://www.behance.net/MehdiAlouafi/ - ํธ์ํฐ
https://twitter.com/AMehdiW - LinkedIn
https://fr.linkedin.com/in/mehdi-alouafi-440529116
ํฐ ํ์ธ. ํ์คํ ๋ฒ์ 0.44.2์ ๋ฌธ์ ์
๋๋ค.
0.44.0์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ๋ค์ ์๋ํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค! // ์๋ชฌ
0.45.1๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋๋ 0.45.1์์ ์ด๊ฒ์ด ๋ค์ ๋ํ๋ฌ์ต๋๋ค.
npm start -- --reset-cache ๋ก ์์ ํ์ต๋๋ค.
+1
0.44.3๊ณผ ๋์ผํฉ๋๋ค(ํ๋ก์ ํธ๋ฅผ ์ ๋ฆฌํ๊ณ node_modules๋ฅผ ์ ๊ฑฐํ๊ณ ๊ฐ์์ ์๊ณ๋ฅผ ์ ๊ฑฐํ๊ณ ์บ์๋ฅผ ๋น์ ์ต๋๋ค)
react-native init
(RN 0.45.1)๋ก ์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๋ ๋ฌธ์ ๊ฐ ์์ง๋ง ๋ด ํ๋ก์ ํธ 0.45.1์๋ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ๋ก์ ํธ๋ฅผ ์ ๋ฆฌํ๊ณ , ์บ์๋ฅผ ๋น์ฐ๊ณ , Yarn ๋์ NPM์ ์ฌ์ฉํ๊ณ , node_modules๋ฅผ ์ ๊ฑฐํ๋์ง ์ฌ๋ถ๋ ์ค์ํ์ง ์์ต๋๋ค.
์ด๋ค ์์ด๋์ด๋ผ๋?
@ ๋ธ๋๋ -RIUS ๋ ๋น์ ์ด ์ค๋ฅ๊ฐ ๊ณ์ ๋ฌด์์ ์ค์ํ์ง,ํ์ง๋ง, ๋ด๊ฐ ํ๋ก์ ํธ๋ฅผ ์ฒญ์ํ๊ณ ์ฌ์ฉํ์ฌ ์
๊ทธ๋ ์ด๋ํ๊ธฐ๋ณด๋ค ๊ฐ์ ๋ฌธ์ ๊ฐ react-native-git-upgrade
ํผ๋ : ์์
์ ์์ ๋ง์ ๋ชจ๋ ๊ฒ์ํ๊ณ ์ค๋ฅ๊ฐ ์ฌ๋ผ :
react-native-git-upgrade๋ฅผ ํ์ธํ์ญ์์ค.
_ps_: [email protected]
์ด ๋ชจ๋ ์กฐ์ธ์ ๋ฐ๋ฅธ ํ์๋ ์ฌ์ ํ ์ด๊ฒ์ ์ป๊ณ ์์ต๋๋ค. react-native-git-upgrade๋ฅผ ์๋ํ์ต๋๋ค.
๋ค์ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
"react": "^16.0.0-alpha.12",
"react-native": "^0.45.1",
์ด๋ค ์์ด๋์ด? ์ด์ ๋ง ์ผ์ด๋๊ธฐ ์์ํ ๊ฒ ๊ฐ์ต๋๋ค.
npm ๋ชจ๋ ํด๋๋ฅผ ์กฐํํ ์ ์์ต๋๊น? react-native dir์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋น์ด์๋ ?
npm์ ์ฌ์ฉํ์ฌ ํ๋์ ๋
ธ๋ ๋ชจ๋์ ์ค์นํ ํ ๊ด์ฐ์ด ๋น์ด ์์์ต๋๋ค.
๋น์ด ์์ผ๋ฉด npm install --save react-native@latest ๋ฅผ ์คํํ์ฌ ํด๊ฒฐ๋์์ต๋๋ค.
๋๋ฅผ ์ํด
@MehdiAlouafi ๊ฐ์ฌ
ls node_modules/react-native/Libraries/react-native
React.js react-native-implementation.js react-native-interface.js
์ฐ๋ฆฌ ํ์ babel-preset-react-native
๋ฅผ 2.0.0์์ 1.9.1๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ ๋๊น์ง ๋น๋์ ์คํจํ์ต๋๋ค. babel-preset-react-native
๋ฒ์ 2.0.0์ ๋ฌธ์ ์ผ ์ ์์ผ๋ฉฐ RN ์ ์ฒด์ ๋ฌธ์ ๋ ์๋๋๋ค.
ํ์ฌ ์ฐ๋ฆฌ๋ ๋ค์์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค:
"react": "16.0.0-alpha.12",
"react-native": "0.45.1",
๋ค๋ฅธ ์ ์๋ ์๋ฃจ์ ์ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์์ง๋ง ์ด๊ฒ์
"๋ฐ์": "^16.0.0-alpha.12",
"๋ฐ์ ๋ค์ดํฐ๋ธ": "^0.45.1",
"react-native": "^0.45.1"
์์ "^" ๊ธฐํธ๋ฅผ ์ ๊ฑฐํ๊ณ npm install
์คํ
react-native-fetch-blob(nb. ๋ฌธ์ ์ ๊ด๋ จ์ด ์์)๋ฅผ ์ค์นํ ํ ๋ฌธ์ ๊ฐ ๋ค์ ๋ํ๋ฉ๋๋ค. tmp ์ฒญ์, ์บ์ ์ฌ์ค์ , node_modules ์ ๊ฑฐ๊ฐ npm ์ค์น์ ์ํฅ์ ๋ฏธ์น์ง ์์์ต๋๋ค. ๋ฌธ์ ๊ฐ ์ง์๋์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋๋ ๋ชจ๋ ์ฌ๋์ ์ํด ์ค๋๋ MS Windows ์น๋ฃ๋ฒ์ ์๋ํ์ต๋๋ค. ๋ฉํฑ(Mac)์ ๋ค์ ์์ํ๋ฉด ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค. ๋ฐ๋ผ์ ์ต์ ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ๋๋ ํ์คํ ๋๋ฅผ ์ํด ํ๋ค.
์ฌ์ฉ:
"๋ฐ์": "16.0.0-alpha.12",
"๋ฐ์ ๋ค์ดํฐ๋ธ": "0.45.1",
--reset-cache ํ๋๊ทธ๋ก ํจํค์ง ํ๋ก๊ทธ๋จ์ ์์ํ๋ฉด ๋์์ด ๋๋ ๊ฒ ๊ฐ์ต๋๋ค. node node_modules/react-native/local-cli/cli.js start --reset-cache
๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์๋ก ์ค์นํ๊ณ ๊ธฐ์กด ์ค์นํฉ๋๋ค.
iOS ๋ฒ์ ์ ์คํํ๋ Mac์์ ์๋ํฉ๋๋ค.
Android๊ฐ ์ค์น๋ Windows์์ ๋ค์์ ์ป์ต๋๋ค.
์ค๋ฅ: ๋ฒ๋ค๋ง: UnableToResolveError: AccessibilityInfo
๋ชจ๋์ ํ์ธํ ์ ์์ต๋๋ค.
์์์ ๋ชจ๋ ์๋ฅผ ์๋ํ์ต๋๋ค.
node/npm ์ ๊ฑฐ ๋ฐ ์ ๊ฑฐ.
node_modules ์ ๊ฑฐ ๋ฐ ์ฌ์ค์น.
reset-cache๋ก ์์
์๋ฌด๊ฒ๋. Windows + Android์์ ์ค๋ฅ๋ฅผ ์ ๊ฑฐ ํ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ์ฉ:
npm: '3.10.10',
๋
ธ๋: '6.11.0',
๋ฐ์: '16.0.0-alpha.12',
๋ฐ์ ๋ค์ดํฐ๋ธ: '0.45.1'
๋ค์์ ์๋ํ ์ ์๋ ์์ด๋์ด๊ฐ ์์ต๋๊น? ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ์์ด๋์ด๊ฐ ๋ถ์กฑํฉ๋๋ค.
์ค๋ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ์๋์ผ๋ก ๋ฐ์ ๋ค์ดํฐ๋ธ ํจํค์ง๋ฅผ ์คํํ ๊ฒฝ์ฐ
npm run start -- --reset-cache
๋ฒ๋ค์๋ก๋ํ๋ฉด ํ์๋ฉ๋๋ค.
This warning is caused by a <strong i="9">@providesModule</strong> declaration with the same name across two different files.
jest-haste-map: <strong i="10">@providesModule</strong> naming collision:
Duplicate module name: AccessibilityInfo
Paths: project/ios/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js collides with project/node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js
๋ค๋ฅธ ๊ธฐ๋ณธ ๋ชจ๋๊ณผ ๋์ผํ ์ค๋ฅ๊ฐ ๋ง์ด ๋ฐ์ํ๋ฏ๋ก ios
์์ Libraries
ํด๋๋ฅผ ์ญ์ ํ๊ณ ๋ชจ๋ ๋ค์ ์์ํ๋ฉด ์ด์ ๊ด์ฐฎ์ต๋๋ค.
๋ชจ๋ ํ๋ก์ ํธ์ ํ์ ํด๋์ ์ RN ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ file:../
๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ก์ธ์คํ๋ ค๊ณ ํ ๋ linux/android/npm์์ ์คํํ๋ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
ํธ์ง : ๋ง์ง๋ง์ผ๋ก ์๋ก์ด react-native init
ํ ๋ ์๋์ด ๋๋ฌ์ต๋๋ค.
ํธ์ง 2 : ๋ฐ์ ๋ค์ดํฐ๋ธ๊ฐ ์ข ์์ฑ ํธ๋ฆฌ์์ ๋ ๋ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ ํ๋ก์ ํธ์ ์ผ๋ถ ์ข ์์ฑ์ด ํผ์ด๋ก ์ฌ์ฉํ์ง ์๊ณ ๋ถํ๋ฅผ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ด๊ฒ๋ ์ฐ๋ฆฌ๋ฅผ ์ฃฝ์ด๊ณ ์์ต๋๋ค. 28์ผ 62ํ ์๋ต ํ @javache ๋๋ @davidaurelio ์ ์๋ต์ด ์์ต๋๊น? 1์๊ฐ ์ ์ ๊ณต๊ฐ๋ 0.9
facebook/ metro-bundler@b62669e ์๊ฐ๋ฝ x'd๊ฐ ์ด๋ป๊ฒ๋ ๋์์ด...
@nico2che ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํด๋ ์ญ์ ์ ๋์ ์ํฅ์ ๋ฏธ์ณค์ต๋๊น? react-native-navigation๊ณผ ๊ฐ์ ํจํค์ง๊ฐ ์ค์น๋์ด ์์ต๋๋ค. ์ญ์ ํ๋ฉด ์ํฅ์ ๋ฐ๋์? ์๋๋ฉด ๊ทธ๋ฅ ๋ค์ ๋ง๋ค์ด์ง๋ ๊ฑด๊ฐ์?
๋ํ ์ด๊ฒ์ ๋ด Mac + iOS ๋น๋์ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. ๊ทธ๊ฒ์ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค. Windows 10์์ Android๋ฅผ ์คํํ๋ ค๊ณ ํ ๋์ ๋๋ค.
์ฐธ๊ณ ๋ก:
OS X์์ "npm start --clear-cache"๋ก ํจํค์ ๋ฅผ ์คํํ ๋๋ง ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
--clear-cache ์ธ์๋ฅผ ์ ๊ฑฐํ๋ฉด ํ๋ก์ ํธ ์ฝ๋๊ฐ ์ ๋๋ก ์คํ๋ฉ๋๋ค.
๋ฐฉ๊ธ ์๋ํ๊ณ ํ์ธํ์ต๋๋ค.
Android๋ฅผ ์คํํ๋ Windows์์๋ npm start๋ฅผ ์ฌ์ฉํ์ฌ --clear-cache / --reset-cache ์ ๋ฌด์ ๊ด๊ณ์์ด ์ฌ์ ํ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.
๊ทธ๋๋ ์์ด๋์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
@ianataffinity Windows 10์ ์ฌ์ฉ https://mobile.azure.com์ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ ๋น๋๋ฅผ ์๋ํด ๋ณด์ จ์ต๋๊น ? (ํ์ฌ ๋ฌด๋ฃ์ด๋ฏ๋ก ๋น์ฉ์ด ๋ฐ์ํ์ง ์์ต๋๋ค.) ๋๋ ๊ทธ๋ค์ ๋ก๊น ์ถ๋ ฅ์ด react-native์ ๊ธฐ๋ณธ ๋นจ๊ฐ์ ํ๋ฉด๋ณด๋ค ํจ์ฌ ๋ ์ ์ฉํ๋ค๋ ๊ฒ์ ์์๊ธฐ ๋๋ฌธ์ ๋ฌป์ต๋๋ค.
๋ด js ํ์ผ์ ์ด๋ฆ์ 'index.js'
์์ 'index.ios.js'
๋ก ๋ณ๊ฒฝํ์ฌ ์์ ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ http://localhost:8081/index.ios.bundle
๋ก๋ํ๋ฉด ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง๋๋ค.
@nandesu ์ด์ ๋ํด
์ฑ๊ณต์ ์ผ๋ก ํตํฉํ์ง๋ง ์ถฉ๋ ๋ณด๊ณ ์๊ฐ ๋์ค์ง ์์ต๋๋ค. Unable to resolve module AccessibilityInfo
์ค๋ฅ์ ํจ๊ป ๋นจ๊ฐ์ ํ๋ฉด์ด ๋ํ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
์๋ง ๋จ๊ธฐ ์ ์ ๋๊ธฐ์๊ฐ์ด ์์ ๊ฒ ๊ฐ์๋ฐ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
@nico2che ์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง ๊ทธ๊ฐ ์ ์ํ ์๋ฃจ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ๋์ homebrew๋ฅผ ํตํด node์ npm์ ๋ค์ ์ค์นํ๋๋ฐ ๋ฌธ์ ๊ฐ ์์ ํ ํด๊ฒฐ๋์์ต๋๋ค.
์ด๊ฒ์ด ํฌ์ฐฉ๋์ง ์์ ํจํค์ง ํ๋ก๊ทธ๋จ ์ค๋ฅ/์์ธ์ ๋ํ ๊ธฐ๋ณธ catch all์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ์ฅ ์ต๊ทผ์ RN ๋ฆด๋ฆฌ์ค์์ ์ค๋ฅ๋ฅผ ์ก๋ ํด๋์ค๋ try catch๋ฅผ ์์ด๋ฒ๋ ธ์ต๋๊น?
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ์๋ค. rm -rf $TMPDIR/react-* && watchman watch-del-all && rm -rf ios/build/ModuleCache/* && rm -rf node_modules/ && yarn cache clean && yarn
๊ทธ๋ฆฌ๊ณ react-native link
๋๋ ์ป์๋ค
`RNFetchBlob ์ฑ ๋ฒ์ ํ์ธ ์ค..
RNFetchBlob ๊ฐ์ง ์ฑ ๋ฒ์ => 0.44
Android ๊ถํ ์ถ๊ฐ => false
react-native-fetch-blob์ 0.9.4 ์ดํ์ Android ๊ถํ์ ์๋์ผ๋ก ์ถ๊ฐํ์ง ์์ต๋๋ค. ๊ธฐ๋ณธ ๊ถํ์ ์ถ๊ฐํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ ์คํํ์ธ์.
RNFB_ANDROID_PERMISSIONS=true react-native link
`
RNFB_ANDROID_PERMISSIONS=true react-native link
์๋
๊ทธ๊ฒ์ ๋๋ฅผ ๊ณ ์น๋ค.
๋ด๊ฐ ์๊ฐ์ ๋ณด๋ธ ๊ฒ์ Android Studio์์ Android ์ฑ์ ์ด๊ณ Gradle ํ์ผ์ ํ๋ก์ ํธ์ ๋๊ธฐํํ๊ณ ๋น๋์์ ๋ฐ์ํ ์ค๋ฅ๋ฅผ ํ๋์ฉ ์์ ํ๋ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์๋ react-native link
๋ฐ ์ผ๋ฐ ์์ธ๋ฅผ ์ฌ์ฉํ ๋ ๊ด๋ฆฌ๋์ง ์๋ ์ฐ๊ฒฐ ํ๋ก์ ํธ๊ฐ ํฌํจ๋ฉ๋๋ค.
๋น๋๊ฐ ์ ํํ๋ฉด ๋๋ฒ๊ทธ ๋ชจ๋๋ก ๋ถํ ํ๊ณ Genymotion ์ธ์คํด์ค์ ์ฐ๊ฒฐํ ๋ค์ 'npm start'๋ฅผ ์คํํ์ฌ ํจํค์ ๋ฅผ ์ฐพ์ ์ ์์์ต๋๋ค.
๊ทธ๊ฒ์ด ๋๋ฅผ ์ํด ๋ชจ๋ ๊ฒ์ด ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์์ต๋๋ค.
๊ฐ์ ๋ฌธ์ ๊ฐ ์์๊ณ ์ ๊ฒฝ์ฐ์๋ ๋ ๊ฐ์ package.json
ํ์ผ์ด ํ๋๋ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ์๊ณ ๋ค๋ฅธ ํ๋๋ android/
์์ต๋๋ค. ๋ํ ์ด๋ป๊ฒ ๋ ๋ ์ธํธ์ ๋
ธ๋ ๋ชจ๋์ ์ค์นํ ์ ์์์ต๋๋ค. node_modules/
๋ฐ android/node_modules
๋๋ ํ ๋ฆฌ๊ฐ ์์ต๋๋ค. ๋ด ์์ ์ android/package.json
๋ฐ android/node_modules
์ ๊ฑฐํ๋ ๊ฒ์ด ์์ต๋๋ค.
๋๋ฅผ ์ํด "yarn install"์ด ์๋ํ์ง ์์๊ณ ๋ด๊ฐ ํ ์ผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
rm -fr node_modules/
npm ์ค์น
์ ๊ฒฝ์ฐ์๋ packager ์ธ์คํด์ค๋ ๊ฒฝ๊ณ ๋ฅผ ์ฃผ์์ต๋๋ค.
"์ด ๊ฒฝ๊ณ ๋ ๋ ๊ฐ์ ๋ค๋ฅธ ํ์ผ์์ ๋์ผํ ์ด๋ฆ์ ๊ฐ์ง @providesModule ์ ์ธ์ผ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค."
๋ ๋ค๋ฅธ ์ฆ์์ require('AccessibilityInfo')
๋ฌธ์ react-native-implementation.js
์ ์๋ require('../Components/AccessibilityInfo/AccessibilityInfo')
์ ์ฌ๋ฐ๋ฅธ ๋ก์ปฌ ๊ฒฝ๋ก๋ก ํธ์งํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ค๋ฅ๊ฐ ๋ค์ ์ค๋ก ๋์ด๊ฐ๋ค๋ ๊ฒ์
๋๋ค.
"'ActivityIndicator' ๋ชจ๋์ ํ์ธํ ์ ์์ต๋๋ค."
๊ทธ๋์ ์ ๊ฒฝ์ฐ์๋ ํ๋ก์ ํธ์ react-native-paypal
๋ฅผ ์ค์นํ์ต๋๋ค. ์ด ๋ชจ๋์๋ ์์ฒด package.json
๊ฐ ์๋ ์์ ํ๋ก์ ํธ๊ฐ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ์์ npm install
๋ฅผ ์คํํ์ผ๋ฉฐ react-native
๋ _its_ node_modules
ํด๋์ ํฌํจ๋์์ต๋๋ค. , ์:
/my_project/node_modules/**react-native**
/my_project/node_modules/react-native-paypal/ios/Example/node_modules/**react-native**
๋ ๊น์ node_modules
ํด๋๋ฅผ ์ญ์ ํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๋๊ตฐ๊ฐ๋ฅผ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฐ๋ฆฌ๋ ๋ง์นจ๋ด ์ฐ๋ฆฌ์ ์ํฉ์ ํ๋จ์ ๋์ฐฉ, ๊ทธ๊ฒ์ @nijolas ๋ฐ @pelotasplus์ ๊ฒฝ์ฐ์ ๋ฑ์ฅ ๋ฌด์จ ๋น์ท : ์ค๋ณต node_modules
/ package.json
์ข
์ ํจํค์ง์
๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ react-native-photos-framework
๋ฐ react-native-svg
๋ ํจํค์ง์์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ด๋ค ๊ฐ๊ฐ์๋ AccessibilityInfo
์์ธ๋ก ๊ฐ๋ ค์ง ๋นํธํ์ฑ์ด ์์์ต๋๋ค.
์ฌ์ง ํ๋ ์์ํฌ์์ lib๋ ์ฌ์ ํ prop-types
ํจํค์ง ๋์ React์ PropTypes๋ฅผ ์ฌ์ฉํ๊ณ ์์๊ณ Babel ์ฌ์ ์ค์ ๋ ์ต์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์์์ต๋๋ค. svg lib์์ react-native
๋ peerDependency ๋๋ devDependency ๋์ ์ข
์์ฑ์ผ๋ก ์๋ชป ๋์ด๋ฉ๋๋ค . ๋ฐ์ ๋ค์ดํฐ๋ธ ํจํค์ง๊ฐ ํด๋น ํจํค์ง์ ์ผ์นํ์ง ์์ผ๋ฉด npm์ ํด๋น ์ข
์์ฑ ๋ด์์ ๋ค๋ฅธ ๋ฒ์ ์ผ๋ก node_modules
๋ฅผ ์์ฑํฉ๋๋ค.
react-native-photos-framework
๋ํ PR์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. olofd/react-native-photos-framework#56
๊ทธ๋ฆฌ๊ณ react-native-svg
์๋ ์ด๋ฏธ PR์ด ์ด๋ ค ์์ต๋๋ค: react-native-community/react-native-svg#360, ๋๋ ๊ทธ๋ด ๋๊น์ง ๋ด ํฌํฌ๋ฅผ ์ฌ์ฉ ํ์ธ์ :
์ฌ๊ธฐ์ ๊ฐ์ฅ ์ข์ ์กฐ์ธ์ ๋นํ์ค react-native
/ babel
package.json
์ค์ ์ ๋ํ ๋ชจ๋ ์ข
์์ฑ์ ์ดํด๋ณด๋ ๊ฒ์
๋๋ค. ์ค์ฒฉ๋ node_modules
๋๋ฉด ์๋ง๋ ๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์ ๊ฒ์
๋๋ค.
์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ์ต๋๋ค ๐ญ
ํ์ฌ ์ด ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
"react": "^16.0.0-alpha.12",
"react-native": "^0.45.1",
"react-native-cli": "^2.0.1"
@DevHossamHassan ์ฌ๊ธฐ์ '^' ๋ถ๋ถ ๋ฒ์ ์ ์ฌ์ฉํ๋ฉด ์ ๋ฉ๋๋ค. alpha ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
"react": "16.0.0-alpha.12",
"react-native": "0.45.1",
"react-native-cli": "^2.0.1"
์ ์ฅ! ์ด๊ฑฐ ํด๊ฒฐ ๋ฐฉ๋ฒ ์์๋ ๋ถ ๊ณ์ ๊ฐ์?
"react": "16.0.0-alpha.12",
"react-native": "0.45.1",
์ด ๋์ฐํ ๋ฌธ์ ๋ ๋ง๋ฌ์ต๋๋ค.
"react": "16.0.0-alpha.12",
"react-native": "0.46.0",
๋๋ ๊ฑฐ์ ๋ชจ๋ .npm
.rncache
node_modules
....์ ์ญ์ ํ์ง๋ง ์๋ํ์ง ์์ต๋๋ค
node_modules ํด๋์ ์๋ ๋ฒ์ ๊ณผ ์๋ํ์ง ์๋ ๋ฒ์ ์ด ์์ต๋๋ค. ์๋ํ๋ ๊ฒ์ ์ด์ ๋ฒ์ (์ด์ ๋ฒ์ ์์ ์ ๋ฐ์ดํธ๋จ)์ด๊ณ ๋ค๋ฅธ ํ๋๋ ์๋ก ๊ฐ์ ธ์จ ๊ฒ์ ๋๋ค.
diff --brief -r node_modules node_modules2๋ฅผ ์คํํ์ต๋๋ค.
node_modules๋ ์๋ํ์ง ์์ต๋๋ค.
node_modules2๋ ์๋ํ๋ ๊ฒ์
๋๋ค.
์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค(219์ค).
https://pastebin.com/BjACU7fT
0.45.1
-> 0.46.0
์์ ๋ค์ ์
๊ทธ๋ ์ด๋ํ์ต๋๋ค. ์
๊ทธ๋ ์ด๋ํ ๋๋ง๋ค ์ด๊ฒ์ด ๋ค์ ๋ค์ด์ค๋ ๊ฒ ๊ฐ๊ณ , ์ด ๋ง์ ์ค ์ด๋ค ๊ฒ์ด ์ฌ๋ผ์ง๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
watchman watch-del-all
rm -rf node_modules/
yarn
rm -fr $TMPDIR/react-*
XCode ํ๋ก์ ํธ ์ ๋ฆฌ
OSX๋ฅผ ๋ค์ ์์ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์์ ๋ช ๊ฐ์ง ์กฐํฉ์ผ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง๋ง ์ 0.46.0
๋ฆด๋ฆฌ์ค์์๋ ์ง๊ธ๊น์ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค.
๋๋ ํ๋ฃจ ์ข ์ผ ์ด๊ฒ์ผ๋ก ๊ณ ์ํ๊ณ ๋ง์นจ๋ด ์๋ํ๋ ๊ฒ์ ์ป์์ต๋๋ค. ์ด ์ค๋ ๋ https://github.com/facebook/react-native/issues/14843 ์ ๋ฐ๋ฅด๋ ๋์ ์ด๊ฒ์ ์ฐพ์์ง๋ง react-native 0.45.1์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋จ์ผ ์ข ์์ฑ์ด ์๋ ์๋ก์ด ์ฑ์ด ์์ต๋๋ค.
์ด์ ๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง babel-plugin-idx
์ค์นํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๋จผ์ ํ๋ฌ๊ทธ์ธ์ ์ค์นํฉ๋๋ค:
yarn add babel-plugin-idx
๊ทธ๋ฐ ๋ค์ .babelrc
์
๋ฐ์ดํธ:
{
"presets": ["react-native"],
"plugins": ["idx"]
}
๋ง์ง๋ง์ผ๋ก ์ฑ์ ์์ํฉ๋๋ค.
react-native run-ios
์ค์ ๋ก ๋ด๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ข ์์ฑ์ผ๋ก ์ฌ์ฉํ์ฌ ์๋ก์ด ๋ฐ์ ๋ค์ดํฐ๋ธ ์ฑ์ ์์ฑํ๋ ์์ฑ๊ธฐ๋ฅผ ๋ง๋ค๊ณ ์๋๋ฐ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ฉด ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐํด์ผ๋ง ๋ด๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. JS์ผ ๋ฟ์ด๊ณ ๊ธฐ๋ณธ ์ฝ๋๋ ์์ผ๋ฉฐ ์ข ์์ฑ์ด ์๊ณ devDependencies ๋ฐ peerDependencies๋ง ์์ผ๋ฏ๋ก ํด๋น node_modules๋ ๋น์ด ์๊ฒ ๋ฉ๋๋ค.
๋๋๋ก ๋ด๊ฐ ์ค์ ๋ก TRANSFORM ERROR: UnableToResolveError: ...
๋ณด๊ณ ์๋ค๋ ๊ฒ์ ์์๊ธฐ ๋๋ฌธ์ ์ด ์๋ฃจ์
์ ์ฐพ์์ต๋๋ค. ์ด๋ ๋๋ฅผ babelrc ๊ฒฝ๋ก๋ก ์๋ดํ์ต๋๋ค. ๋ฐ์ ๋ฐ/๋๋ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋๋ ๊ธฐํ ์ข
์์ฑ์ babel ๋ฐ ํผ์ด ์๊ตฌ ์ฌํญ์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ง๋ง ์์ ํ ํ์ ํ ์ ์์ต๋๋ค. ์ ์ด๋ ์ง๊ธ์ ์ด idx ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ 0.45.1๋ก ์ฌํ ๊ฐ๋ฅํ๊ณ ์์ ์ ์ธ ๋น๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
0.43.3์์ 0.46์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ ค๊ณ ํ๋๋ฐ ์ด ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํฉ๋๋ค. Iv๋ ๋ด ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ดํด๋ณด์๊ณ peerDependecies์ ๋ชจ๋ ๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐฐ์นํ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ๋์๊ฒ ๊ด์ฐฎ์ ๋ณด์
๋๋ค. ๋๋ ๋ํ ๋ด node_modules: find node_modules -name "react-native*"
์์ ์ฐพ์๊ณ ์ด๋ฏธ ํ์ธ๋์ง ์์ ํจํค์ง๋ฅผ ๋ณด์ฌ์ฃผ์ง ์์์ต๋๋ค! ์ด ๋ฒ๊ทธ๊ฐ ์ ๋ฅผ ๊ท์ฐฎ๊ฒ ํ๊ธฐ ์์ํ์ต๋๋ค. ์
๊ทธ๋ ์ด๋ํ๊ณ ์ถ์ต๋๋ค!
๋ด ์ข ์ ํญ๋ชฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
"dependencies": {
"@mapbox/polyline": "^0.2.0",
"axios": "^0.15.3",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"better-npm-run": "0.0.14",
"moment": "^2.18.1",
"native-base": "^2.2.0",
"react": "16.0.0-alpha.4",
"react-native": "^0.46",
"react-native-easy-grid": "0.1.13",
"react-native-fabric": "^0.4.1",
"react-native-maps": "^0.15.3",
"react-native-vector-icons": "~4.1.1",
"react-navigation": "^1.0.0-beta.11",
"react-redux": "^5.0.3",
"react-router-redux": "^4.0.8",
"redux": "^3.6.0",
"redux-devtools-extension": "^2.13.0",
"redux-logger": "^2.8.2",
"redux-saga": "^0.14.3",
"stacktrace-js": "^2.0.0",
"url-parse": "^1.1.9"
},
"devDependencies": {
"babel-eslint": "^7.2.3",
"babel-jest": "18.0.0",
"babel-plugin-module-resolver": "^2.7.0",
"babel-preset-react-native": "^2.0.0",
"eslint": "^3.19.0",
"eslint-config-airbnb": "^14.1.0",
"eslint-plugin-import": "^2.2.0",
"eslint-plugin-react": "^7.0.1",
"eslint-watch": "^3.1.0",
"jest": "18.1.0",
"jsx-control-statements": "^3.2.5",
"react-test-renderer": "15.4.2",
"reactotron-react-native": "^1.10.0",
"reactotron-redux": "^1.10.0",
"reactotron-redux-saga": "^1.10.0",
"source-map": "^0.5.6",
"wml": "0.0.82"
},
"jest": {
"preset": "react-native"
}
๋๋์ด ๋ฌธ์ ๊ฐ ์์ง๋ง ๋ค์ ๋จ๊ณ๋ฅผ ๋ช ๋ฒ ์๋ํ ํ์๋ ๊ด์ฐฎ์ต๋๋ค.
1) node_module ํด๋ ์ ๊ฑฐ
2) "npm ์ค์น"
3) "cd android" ๋ค์ "./gradlew clean"
4) "npm ์์ -- --์บ์ ์ง์ฐ๊ธฐ"
5) ์ฌ๊ฑด
๋ด ์์กด์ฑ
"dependencies": {
"react": "16.0.0-alpha.12",
"react-native": "0.45.1",
"react-native-button": "^2.0.0",
"react-native-camera": "git+https://github.com/lwansbrough/react-native-camera.git",
"react-native-camera-roll-picker": "^1.1.9",
"react-native-maps": "0.15.0",
"react-native-responsive-image": "^2.1.0",
"react-navigation": "git+https://github.com/react-community/react-navigation.git"
},
"devDependencies": {
"babel-jest": "20.0.3",
"babel-preset-react-native": "2.0.0",
"jest": "20.0.4",
"react-test-renderer": "16.0.0-alpha.12"
},
"jest": {
"preset": "react-native"
}
sudo ๋ฐ์ ๋ค์ดํฐ๋ธ ์์
๊ทธ ๋ค์์
๋ฐ์ ๋ค์ดํฐ๋ธ ์คํ-ios || ์๋๋ก์ด๋ ์คํ
๐
@jmullings ๋ ๋ค์์ ์คํํ์ฌ ์ ์ฌํ๊ฒ ์๋ํ์ต๋๋ค.
sudo npm ์์
๋ฐ์ ๋ค์ดํฐ๋ธ ์คํ iOS
๋ ธ๋ ํจํค์ ๊ฐ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ๊ฒ ๊ฐ์ต๋๊น?
๋ฉ์ฒญํ ๋์ด์ง๋ง ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
๋๋ฅผ ์ํด ๋ณ๊ฒฝ๋ ์ ์ผํ ๊ฒ์ react-native start
๋ฅผ sudo
์คํํ ๋ ์๋ํ๋ค๋ ๊ฒ์
๋๋ค.
๋๋ Windows์ ์์ผ๋ฏ๋ก sudo๋ก ์คํํ ์ ์์ต๋๋ค. ๋๋ ๊ด๋ฆฌ์์ ํจ๊ป ์ฝ์์ ์คํ
์ค๋ ๋๋์ด ์ค๋ฅ๊ฐ ์์ต๋๋ค
Loading dependency graph, done.
error: bundling: UnableToResolveError: Unable to resolve module `AccessibilityInfo` from `D:\iosReactTest2\node_modules\react-native\Libraries\react-native\react-native-implementation.js`: Module does not exist in the module map or in these directories: D:\iosReactTest2\node_modules\react-native\node_modules, D:\iosReactTest2\node_modules
์์ ์๋ฃจ์
์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค ...
๋ด ํจํค์ง.json
{
"name": "iosReactTest2",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"native-base": "^2.2.1",
"react": "^16.0.0-alpha.12",
"react-native": "^0.45.1",
"react-native-button": "^2.0.0",
"react-native-camera": "git+https://github.com/lwansbrough/react-native-camera.git",
"react-native-camera-roll-picker": "^1.1.9",
"react-native-maps": "0.15.0",
"react-native-material-ui": "^1.12.0",
"react-native-responsive-image": "^2.1.0",
"react-native-side-menu": "^0.20.3",
"react-native-vector-icons": "^4.2.0",
"react-navigation": "git+https://github.com/react-community/react-navigation.git"
},
"devDependencies": {
"babel-jest": "20.0.3",
"babel-preset-react-native": "2.0.0",
"jest": "20.0.4",
"react-test-renderer": "16.0.0-alpha.12"
},
"jest": {
"preset": "react-native"
}
}
์ง์ ํ๊ณ ์คํ yarn install babel-preset-react-native-stage-0
( npm์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ npm install babel-preset-react-native-stage-0
)
react-native start -- --reset-cache
react-native run-ios
react-native run-android
์ด๊ฒ์ ๋ง์นจ๋ด ๋๋ฅผ ์ํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋์๊ฒ๋ ํจ๊ณผ๊ฐ ์๋์ง ํ์ธํ์ญ์์ค.
react-native init๋ฅผ ์ํํ ๋๋ง๋ค npm install
์ผ๋ถ ์ข
์์ฑ์ ์ํํ ๋๋ง๋ค ์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ฐฉ๊ธ yarn add
๋์ ์ฌ์ฉํ๋๋ก ์ ํํ๋ ค๊ณ ์๋ํ๋๋ฐ ์ด์ ๋ชจ๋ ๊ฒ์ด ์ ๋๋ก ์๋ํฉ๋๋ค.
์ด๋ ์์ ์์ ์์์ ์ค๋ช
ํ ์ผ๋ถ ์๋ฃจ์
์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ง๋ง(์ rm .babelrc
) ํญ์ npm install
์ ์ํด ํธ๋ฆฌ๊ฑฐ๋์์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด npm์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค ... Windows ์ฉ ๋ชจ๋ ์ง์ฐ๊ธฐ ์คํฌ๋ฆฝํธ :
"reset1": "rimraf \"%userprofile%/AppData/Roaming/npm-cache/*\""
"reset2": "rimraf \"%userprofile%/AppData/Local/Temp/react-*\""
"reset3": "rimraf \"%userprofile%/AppData/Local/Temp/npm-*\""
"reset4": "rimraf node_modules"
"reset5": "npm cache clean"
"reset6": "npm i"
"reset7": "node node_modules/react-native/local-cli/cli.js start --reset-cache"
"test-exp-start": "exp start --clear"
@sjmueller ๋ง์ต๋๋ค. ๋นํธํ์ฑ ๋ฌธ์ ๋ AccessibilityInfo ์์ธ๋ก ๊ฐ๋ ค์ง๋๋ค. ์ฐ๋ฆฌ์๊ฒ react-native-pathjs-charts์ ํ์ํ ๊ฒ์ React Native SVG 5.2์์ต๋๋ค. React Native SVG๋ฅผ 5.3์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
์ด ๋ฌธ์ ๊ฐ ๊ณ์ ๋ฐ์ํ๋ฉด RN SVG 5.2๊ฐ ์๋ ์ข ์์ฑ์ ์ฐพ์๋ณด์ญ์์ค. ๊ทธ๋๋ ๋ฌธ์ ๋ฅผ ์ฐพ์ ์ ์์ผ๋ฉด ์ผ๋ถ ์ข ์์ฑ์ ์ญ์ ํ๊ณ ๋ฒ์ธ์ ์ฐพ์ ๋๊น์ง ๋ค์ ๋ช ๋ น์ ์คํํ์ญ์์ค.
watchman watch-del-all && rm -rf node_modules && npm install && rm -fr $TMPDIR/react-* && npm start -- --reset-cache
์ด ์ค๋ ๋์์ ๊ฐ๋ฅํ ๋ชจ๋ ์ ์์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ํจ๊ณผ๊ฐ ์์์ต๋๋ค.
์๋ํ๋ ์๋ฃจ์
์ ๋ด ํ๋ก์ ํธ๋ฅผ ๋ค๋ฅธ ํด๋ ์ด๋ฆ์ผ๋ก ๋ณต์ ํ๊ณ ๋ชจ๋ ๊ฒ์ ๋ค์ ์ค์นํ๋ ๊ฒ์ด์ง๋ง.
์ด๋ค ์ด์ ๋ก ๋ด Mac์๋ ์์ ๋ช
๋ น์ผ๋ก ์ ๋ฆฌ๋์ง ์๊ณ ์ด๋๊ฐ์ ๋ด ํ๋ก์ ํธ ์ด๋ฆ์ด ์๋ ์บ์ฑ์ด ์์ด์ผ ํฉ๋๋ค... (์์ฌ/๋
ธ๋๋ฅผ ๋ค์ ์์ํ๊ณ ๋ค์ ์ค์นํด๋ ์๋ํ์ง ์์)
์ด๊ฒ์ ์๋ํ์ญ์์ค: $TMPDIR/react-* ๋ฐ $TMPDIR/haste-map-react-native-packager-* ํ์ผ์ ๋ชจ๋ ์ญ์ ํ์ญ์์ค.
$ rm -rf $TMPDIR/react-* && rm $TMPDIR/haste-map-react-native-packager-*
sudo๋ก ์คํํ์ฌ ์ผ๋ถ ์ฌ๋๋ค์๊ฒ ํจ๊ณผ๊ฐ ์์๋ ์ด์ ๋ ๋ค๋ฅธ $TMPDIR์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก haste-map... ํ์ผ์ ๋ค์ ์์ฑํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
@kensongoo ์ด ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ผ๋ก ํ์ธ๋ ์ข ์์ฑ ๋ชฉ๋ก์ ์ปดํ์ผํ ์ ์์ต๋๋ค. ๋ด node_modules์ react-native-svg๊ฐ ํ์๋์ง ์๊ณ ์ง๊ธ๊น์ง ์ด์ด ์๋ ์ฉ์์์ ๋ํ ์ข ์์ฑ์ ์ฐพ๊ณ ์์ต๋๋ค. ํ์ง๋ง ๋์ ํญ๋ชฉ์ ์๋ณํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํ์ ๋ง์ด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ์๋๋ฉด ๋์ ๊ฒ์ ์๋ณํ๋ ์คํฌ๋ฆฝํธ์ ๋๊น?
@ricardosasilva ์ ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. ์ถฉ๋์ด ๋ฐ์ํ ๋๋ง๋ค ์คํํ๋ @kensongoo ์๋ฃจ์ ์ ์ ธ ์คํฌ๋ฆฝํธ๊ฐ ์์ต๋๋ค. ์ต์ ์์ ์ ์ธ React Native ๋ฆด๋ฆฌ์ค์ธ 0.46.3์์๋ ์ด ๋ฒ๊ทธ๊ฐ 15-20๋ถ๋ง๋ค ๋ฐ์ํ์ฌ Java ํ์ ์๋๋ก ๊ฐ๋ฐ์ด ๋๋ ค์ง๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ข ์์ฑ์ด ์๋ํ ๋๊น์ง ์ต์ ๋ฒ์ ์ผ๋ก ํ๋์ฉ ์ ๊ทธ๋ ์ด๋ํ์ฌ ํ๋ก์ ํธ๋ฅผ ์์ ํ์ต๋๋ค. ๋์๊ฒ ๋ฒ์ธ์ ๋ผ์ฐํฐ์ ๋๋ค.
๋จ๊ณ๋
yarn upgrade someLib
๋ชจ๋ ๊ฒ์ ์ฒญ์
์ง๋ค
ํน๊ตฌ๊ณ ๋ฐ๋ณต
ํธ์ง: ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ข
์์ฑ์์ ^
ํ์๋ฅผ ์ ๊ฑฐํด์ผ ์ ํํ ๋ฒ์ ( ์: someLib: ^0.5.1
-> someLib: 0.5.1
์ค์นํ ์ ์์ต๋๋ค.
@ywongweb ์ ์๋ฃจ์ ์ ์ฌ์ฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋ชจ๋ ์ข ์์ฑ์ ์ ๊ทธ๋ ์ด๋ํ๊ธฐ๋ง ํ๋ฉด ์๋ํฉ๋๋ค.
// first upgrade react-native
$ react-native-git-upgrade
// second upgrade dependencies
$ yarn upgrade
๋ฐฉ๊ธ ์ด๊ธฐํ๋ฅผ ์ํํ๋๋ฐ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ํ์ ๋ง์น
// ์ฒซ ๋ฒ์งธ ์
๊ทธ๋ ์ด๋ ๋ฐ์ ๋ค์ดํฐ๋ธ
$ ๋ฐ์ ๋ค์ดํฐ๋ธ ์์ ์
๊ทธ๋ ์ด๋
๊ทธ๋ฆฌ๊ณ
// ๋ ๋ฒ์งธ ์
๊ทธ๋ ์ด๋ ์ข
์์ฑ
$ ์์ฌ ์
๊ทธ๋ ์ด๋
์ผ๋ฐ์ ์ธ ์ฌ์ค์ ์บ์ ๋ฑ์ ๋ฌผ๋ก ์ด๊ณ ์ฌ์ ํ Unable to resolve module AccessibilityInfo
@johngoren ์ฐ๋ฆฌ๊ฐ ๋ฒ์ธ์ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์ผ์ข ์ ๋ฐ๋ณด ๊ฐ์์ง๋ง ์ ์ฉํ ํํธ๋ฅผ ์ ๊ณตํ๋ ๋ก๊ทธ๋ฅผ ์ฐพ์ ์ ์์๊ธฐ ๋๋ฌธ์ ํ์ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ํ๋ก์ ํธ๋ฅผ ๋ณ๋์ ๋๋ ํ ๋ฆฌ์ ๋ณต์ ํ๊ณ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ง ๋๊น์ง ๋ฒ์ธ์ผ๋ก ์์ฌ๋๋ ๋ชจ๋์ ํ๋์ฉ ์ ๊ฑฐํ๊ธฐ ์์ํ์ผ๋ฉฐ ์๋ ์คํฌ๋ฆฝํธ(์ด์ ์ ๊ฒ์ํ ๊ฒ๊ณผ ๋์ผ)๋ฅผ ์คํํ์ต๋๋ค. RN-SVG ์ธ์๋ ์ด์ ๋ฒ์ ์ RN์ ๊ฐ๋ฐ ์ข ์์ฑ์ด ์๋ ๋ชจ๋์ ์ฐพ์๋ณด์ญ์์ค. ํ์ด์ ๋น๋๋ค!
watchman watch-del-all && rm -rf node_modules && npm install && rm -fr $TMPDIR/react-* && npm start -- --reset-cache
RN 0.46.4
ํ์ง ์์์ต๋๋ค ๐
"react-native": "0.47.0-rc.4",
์์๋ ๋์ผํ๊ฒ ๋ฐ์ํ๋ฉฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ํ์ง ์์ต๋๋ค./
0.46.4
๋๋ถ๋ถ ํด๊ฒฐ๋์์ง๋ง ์ค๋ ์์นจ์ ์ค๋ฅ๊ฐ ๋ฐํ๋์์ง๋ง react-native-firebase
์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ์ ๋๋ง ์ค๋ฅ๊ฐ ๋ฐํ๋์์ต๋๋ค.
์ ๋ฐ์ดํธ ๋๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ๋๋ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์๊ณ ์์ด
๋๋ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์๊ณ ์์ด. ๋๋ ๋ด ์ธ์์์ ๋ค์ดํฐ๋ธ ๋ฐ์๊ณผ ๊ฐ์ ๋ง์ ๋ฌธ์ ๊ฐ ์๋ ํ๋ก์ ํธ๋ฅผ ๋ณธ ์ ์ด ์์ต๋๋ค. ๊ณตํฌ!!!!!!
0.44.0์ผ๋ก ๋ค์ด ๊ทธ๋ ์ด๋ ํ ๋ค์ node_modules๋ฅผ ์ ๊ฑฐํ๊ณ npm ์ค์น๋ ์ํํ์ต๋๋ค. ๊ทธ ํ, ์๋์ ์์ํฉ๋๋ค.
0.44.0์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ ํ ReactPropTypes๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ๊ทธ๋ฌ๋์ด ํ์ด์ง ๋ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
๋๋ ์ง๊ธ ๊ฑฐ์ 2 ์ผ ๋์ ์ด๊ฒ์ ๋ถ์ด ์์ต๋๋ค. ์ด์ ์ ์ ๋ฅผ ์ํด ์ผํ๋ 0.41.2๋ก ๋๋๋ ธ์ต๋๋ค. 0.44.x์ ๊ฐ์ ์ธ๊ธ๋ ๋ฒ์ ์ค ์ด๋ ๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค.
์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ๋ณด๋ค ์ด ๋ฌธ์ ๋ฅผ ๋๋ฒ๊น ํ๋ ๋ฐ ๋ ๋ง์ ์๊ฐ์ ํ ์ ํ์ต๋๋ค. ๊ณต์ ๋ต๋ณ์ ๋ฐ์ ์ ์๋์?
์ ๋ ํ์ฌ "react-native": "0.46.1"
ํ๊ณ ์์ต๋๋ค. ์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์์ฌ๋ก ์ ํํ๊ณ ๊ทธ ์ดํ๋ก๋ ๋ ์ด์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์์ต๋๋ค. ํ์ฌ npm5 ๋ฌธ์ ์ค ์ผ๋ถ๊ฐ ์ค์น ํ๋ก์ธ์ค ์ค ์ญ์ ๋ ์ข
์์ฑ๊ณผ ๊ด๋ จ๋์ด ์๋๋ผ๋ npm์ ์ฐ๊ฒฐ๋๊ฑฐ๋ ์ฐ๊ฒฐ๋์ง ์์ ์ ์์ต๋๋ค.
package.json์ ์ ํจํค์ง๋ฅผ ์ถ๊ฐํ ๋ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
https://www.npmjs.com/package/react-native-swipe-hidden-header
์ด ํจํค์ง๋ฅผ ์ ๊ฑฐํ๋ฉด ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ง๋๋ค. ํ์ธํด๋ณด๊ณ ์ถ์๋๋ฐ ์ด์ ์์ผ ์ญ์ ํ๊ฒ ๋ ๊ฒ ๊ฐ์์ ์ํ๊น์ต๋๋ค.
@RyderMS ์ค์ํ ์ ๋ณด์ด์ง๋ง ์ผ๋ถ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ํธํ์ฑ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ์๋ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฒฐ์ ํ ์ ์์ผ๋ ค๋ฉด ์ต์ํ ๋ ๋์ ์ค๋ฅ ์ค๋ช ์ด ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ด ํ๋ก์ ํธ์๋ RN ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํํ๋ก 8๊ฐ์ ์ค์ํ ์ข ์์ฑ์ด ์์ผ๋ฉฐ ๊ฐ์๊ธฐ ๋ชจ๋ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
์ ๋ฅผ ์ํด @ricardosasilva์ ๋ต๋ณ์ด ์ผ์ haste-map
์ ๊ฑฐ๊ฐ ํธ๋ฆญ์ด์์ต๋๋ค! ๊ฐ์ฌํฉ๋๋ค!
@ywongweb ์ ์๋ฃจ์ ์ด ์ ์๊ฒ
๋๋ ๋ฑ์ ๋ช
ํ NPM ์บ์, ๋ฆฌ์
๊ฒฝ๋น์์ ํฌํจํ์ฌ์ด ์ผ์ ์ ์ธํ ๋ชจ๋ ์๋ฃจ์
์ ์๋ํ์ง๋ง ๊ฒฐ๊ตญ ๋ ๊ทธ๋ฅํ๋ค yarn upgrade
๋ด๊ฐ ์ฌ์ฉ ๋ ๋ช ๊ฐ์ง ์๋ก์ด ๋ชจ๋์ ๋นํด ์ถ๊ฐ ๋, ๋ฐ ๋ก๊ทธ ์ผ๋ฅผ npm install
. ๊ทธ๋ฆฌ๊ณ ๋์ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.
์์ฌ๋ ๋ชจ๋์ ์ฐพ๋ ๋ฐ ์ฝ๊ฐ์ ์ฐจ์ด๊ฐ ์์ ์ ์์ต๋๋ค. ํ์ง๋ง ์ฌ์ ํ npm install
๊ฐ) ์๋ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ธฐ ์ ์ ๋ฌธ์๋ก ์ง์ ํ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ์ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์๋ ๊ฒ์ ๊ณต์ ํ๊ณ ์ถ์์ต๋๋ค. ์์คํฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋๋ ๋ชจ๋ node_modules, npm install, reset-cache, ๋ค์ ์์๋ ์์คํฌ ์๋ฒ๋ฅผ ์ ๊ฑฐํ๊ณ , ์์คํฌ๋ฅผ ์ ๋ฐ์ดํธํ์ต๋๋ค. ๋๋ ๋ด๊ฐ ํ ๋ฒ์ ๋ค์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค(๊ด๋ จ์ด ์์ ์๋ ์๊ณ ์๋ ์๋ ์์). ํ์ด์ ๋น๋๋ค!
๋๋ฅผ ์ํด ์๋ํ์ง ์์ต๋๋ค https://github.com/facebook/react-native/issues/15256
ํ์ด์ค๋ถ ์ง์ ์ฌ๋ฌ๋ถ ๋์์ฃผ์ธ์
๋ฌธ์ ๋ ๋ถ๋ช ํ ํ์ฌ ๋ชจ๋์ ์ผ๋ถ ๋ฌธ์ ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ๋ฑ์ด ์ ํํ ๋ฌด์์ ๋๊น? ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ์๋ค๋ฉด ์ฌ์ฉํ๊ณ ์ถ์ ์ด ๋ชจ๋์ ๊ธฐ๊บผ์ด ํจ์นํ๊ฒ ์ต๋๋ค.
๋ฌธ์ ๋ฅผ ์ฐพ์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ์ ธ์จ ์ค๋ณต ๋ชจ๋์ด ์์ ๋ ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ ํ์ฌ npm์ ์์ ํ๋ก์ ํธ๊ฐ ํฌํจ๋ ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ https://github.com/invertase/react-native-firebase ์๋ example/demo
๋๋ ํ ๋ฆฌ๊ฐ ์์ต๋๋ค.
์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก node_modules
์์ ์ด๋ฌํ ์์ ํด๋๋ฅผ ์๋์ผ๋ก ์ญ์ ํ ์ ์์ง๋ง ์ค์ ์๋ฃจ์
์ ๋ ์ด์ ์์ ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌํ์ง ์๋๋ก npm์ ํจ์นํ๋ ๊ฒ์
๋๋ค.
์ผ, ๋ ์ ๊ทธ๋ ์ด๋๊ฐ ์ซ์ด. ์ด๋ ๊ฒ ํ๋ ๋ฐ ๊ทธ๋ ๊ฒ ๋ง์ ์๊ฐ์ ์ฒญ๊ตฌํ ํ์๋ ์์ง๋ง ๊ทธ๋ ๊ฒ ํ ๊ฒ์ ๋๋ค.
๋๋ ์๋ฃจ์
์ ์๋ํ๊ณ ๊ฒ์ํ๋ ๋ฐ 4 ์๊ฐ์ ๋ณด๋์ต๋๋ค .... ๊ฒฐ๊ณผ๊ฐ ์์ต๋๋ค.
๋จธ๋ฆฌ์ํ๋ค๐ ์ฉ๊ธฐ ๋ฐ์ ๋ค์ดํฐ๋ธ ํ
๋ชจ๋ ์ข ์์ฑ์ ํ๋์ฉ ์ค์นํ๋ ๊ฒ์ด ์ ์๊ฒ ๋ง๋ ์ ์ผํ ๊ฒ ๊ฐ์ต๋๋ค.
๋ด ํ๋ก์ ํธ ์ ์ฅ์๋ฅผ ๋ณต์ (๋๋ node_modules ์ญ์ )ํ ๋ค์ npm ๋๋ yarn์ด ์ข ์์ฑ์ ์๋์ผ๋ก ์ค์นํ๋๋ก ํ๋ฉด ํญ์ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ธฐ ์ํด ๋ง์ ์๊ฐ์ ๋ณด๋์ง๋ง ์ ์ด๋ ์ง๊ธ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ @kensongoo ๋ฐฉ๋ฒ์ด ์๋ํ์ต๋๋ค. ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ค๋ฅ๊ฐ ์ง์๋ฉ๋๋ค.
์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๊ฑฐ๋ ์บ์๋ฅผ ์ง์๋ ์๋ฌด ํจ๊ณผ๊ฐ ์์ต๋๋ค.
ํ ๋ฌ ๋์ ๋น๋์ ์คํจํ ํ RN 47๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ์์น์ ์๋ค๋ฉด ์ ๊ทธ๋ ์ด๋๋ฅผ ๊ถ์ฅํฉ๋๋ค.
@HilSny ๊ฐ์ฌํฉ๋๋ค ํ์ธํ๊ฒ ์ต๋๋ค
์ด๊ฒ์ ์ผ๋ถ ๋ชจ๋(๋ด ๊ฒฝ์ฐ์๋ react-native-router-flux
)์ด ์์ฒด node_modules
ํด๋์ ๋ค๋ฅธ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ ์ ์ค์นํ ๋ ๋ฐ์ํฉ๋๋ค.
์ฒซ์งธ, ์์ ์ ์ํด ํต ์ต์
์ ์๋ํ์ต๋๋ค.
watchman watch-del-all && rm -rf node_modules && npm install && rm -fr $TMPDIR/react-* && npm start -- --reset-cache
ํจํค์ง ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ์ค๋ฅ ์คํธ๋ฆผ์ด ๊ณ์ํด์ ๋ฌธ์ ๊ฐ ์์์ ๋ํ๋ ๋๋ค. ์:
Loading dependency graph...
jest-haste-map: <strong i="14">@providesModule</strong> naming collision:
Duplicate module name: ReactUpdateQueue
๋๋ ๊ฒ์ ReactUpdateQueue
๋ด์์ node_modules
ํด๋ ๋ฐ ๋ชจ๋ ์ถ๊ฐ ์๋ ๋ฐ๊ฒฌ react-native
์์ฒด์์ ์ค์น node_modules
.
๊ทธ๋์ ๋ง์ง๋ง์ผ๋ก node_modules\react-native-router-flux\node_modules
์์ react-native
ํด๋๋ฅผ ์ญ์ ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค(๋ค์ํ ๋ชจ๋์ ์
๊ทธ๋ ์ด๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ ๋๊น์ง).
์ด ์ปค๋ฐ ์ดํ์ ์ค๋ ์ด๊ฒ์ ๋ฐ๊ธฐ ์์ํ์ง๋ง ์์ ํ ๋๋๋ฆฌ๋ ๊ฒ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋์ง ์์ต๋๋ค(์ ์ฒด watchman ...
๋ช
๋ น ์คํ). ์ ๋ง ์ด์ํ ๋ฌผ๊ฑด. ๋ค๋ฅธ ์๊ฐ์ด ์์ต๋๊น?
๋ ธ๋ 6, 7 ๋ฐ 8, npm 3, 4 ๋ฐ 5์์๋ ์๋ํ์ต๋๋ค. ์ฝค๋ณด๊ฐ ์์ด๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
jest ํ ์คํธ๋ฅผ ์คํํ ๋ ๋ฐ์ํ๋ฉฐ ๊ฐ์๊ธฐ ๋ฐ์ํ๊ธฐ ์์ํ์ต๋๋ค.
G:\www\react-native-stager>npm ls --depth=0
[email protected] G:\www\react-native-stager
+-- @types/[email protected]
+-- @types/[email protected]
+-- @types/[email protected]
+-- @types/[email protected]
+-- @types/[email protected]
+-- [email protected]
+-- [email protected]
+-- UNMET PEER DEPENDENCY [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]
์ด ๋ฌธ์ ๋ ์์คํ ์ Ubuntu ์๋ฒ์์ ๋ก์ปฌ Mac์ผ๋ก ๋ณ๊ฒฝํ์ ๋ ๋ง๋ฒ์ฒ๋ผ ์ฌ๋ผ์ก์ต๋๋ค. ์ด์ ๋ฅผ ์ ํ ๋ชจ๋ฆ ๋๋ค. ๋ ธ๋ ๋ฒ์ ์ ๋ ๋จธ์ 6.11.2, npm 3.10.10์ ์์ต๋๋ค.
๋ณด๋ผ. ์ค๋๋ ์๋ ๋์ผํ ๋ช ๋ น๊ณผ ์ฝ๋๊ฐ ์๋ํ๊ธฐ ์์ํ์ผ๋ฉฐ ์ผ๋ถ ์ข ์์ฑ์ด ๋ณ๊ฒฝ๋ ๊ฒ์ ๋ณผ ์ ์์ง๋ง ๊ด๋ จ์ฑ์ด ์์ด ๋ณด์ ๋๋ค.
Travis-CI์์๋ ๋ก์ปฌ์์๋ ํ ์คํธํ ์ ์์ต๋๋ค. ๊ฒฐ๊ตญ์๋ ๋ง๋ฒ์ฒ๋ผ ์ค์ค๋ก ํด๊ฒฐ๋ฉ๋๋ค(์ ํํ๊ฒ๋ ํ์คํ์ง ์์).
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋ง๋ฒ์ฒ๋ผ ์ค์ค๋ก ํด๊ฒฐํ์ต๋๋ค. ... ์์ฐ, ๊ฒฐ์ ๋ก ์ด ๊ฐํฉ๋๋ค.
๊ฒฐ๊ตญ ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค! ๋ง์ธ! ๐
"๋ฐ์": "^16.0.0-alpha.12",
"๋ฐ์ ํ
์คํธ ๋ ๋๋ฌ": "16.0.0-alpha.12",
"๋ฐ์ ๋ค์ดํฐ๋ธ": "^0.47.1",
๋ด ๋ชจ๋ SDK / JDK / Node / NPM / blablabla๋ฅผ ์ ๋ฐ์ดํธํ๊ณ cd android && gradlew clean์ ์ํ ํ์ผ๋ฉฐ ์ด์ ๋ชจ๋ ์ข์ต๋๋ค! (์ง์๋๊ธฐ๋ฅผ ๋ฐ๋ผ๋ฉฐ...)
์ข ์์ฑ ์ค ํ๋์ ์ด์ ๋ฒ์ ์ React-Native์ ๋ํ ์ข ์์ฑ์ด ์์ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์๋ฅผ ๋ค์ด, RN 0.47์ ์ฌ์ฉํ๋๋ก ํ๋ก์ ํธ๋ฅผ ์
๊ทธ๋ ์ด๋ํ์ ๋ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์์ํ๊ณ ์ ๊ฑฐํ ์ ์์์ต๋๋ค. ๋ด ์ข
์์ฑ react-native-svg
์ด RN 0.45์ ์ข
์๋์๊ณ ์ถฉ๋ํ๋ ๋ด node_modules ํด๋์ ํด๋น ๋ฒ์ ์ ์ค์นํ๊ณ ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ์
๋ฐ์ดํธํ๊ณ ๋ค์ ์ค์นํ๊ณ ๋ชจ๋ ์บ์๋ฅผ ์ ๋ฆฌํ๊ณ ์ฑ์ ๋ค์ ์คํํ๋๋ฐ ์๋ํ์ต๋๋ค!
๋ฐ๋ผ์ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ์ ๊ฑฐํ ์ ์๋ค๋ฉด ์ข ์์ฑ ์ค ํ๋์ ์ด์ ๋ฒ์ ์ด ํ์ํ๊ฑฐ๋ ํ๋ก์ ํธ์์ ์ฌ์ ํ ์ด์ ๋ฒ์ ๊ณผ ์ข ์์ฑ ์ค ํ๋๊ฐ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค. 0.45 ์ดํ๋ 0.46 ์ด์์์๋ ์ ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค...
ํ๋ก์ ํธ ํด๋ ์ด๋ฆ์ ๋ฐ๊พธ์ญ์์ค. ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค.
mv origin_project new_project
์ด๋ฌํ ๋ชจ๋ "์๋ฃจ์ "์ ์บ์๋ฅผ ์ฌ๊ตฌ์ถํ๋ ค๊ณ ํ์ง๋ง ๋ฒ๊ทธ(ํด๋น๋๋ ๊ฒฝ์ฐ)๊ฐ ์ด๋ฏธ ์์ ๋ ๊ฒฝ์ฐ์๋ง ๋ฌธ์ ๋ฅผ ์์ ํฉ๋๋ค.
์ด๊ฒ์ด ์ ์ฉํ ๋จ์์ธ์ง ํ์คํ์ง ์์ง๋ง node_modules ๋๋ ํ ๋ฆฌ๋ฅผ ๋ โโ๋ฒ์งธ ์ค๋ณต ๋๋ ํ ๋ฆฌ๋ก cpํ๋ฉด RN 0.47.0 ์ค์ ์์ ์ค๋ฅ๋ฅผ ์ฌํํ ์ ์์ต๋๋ค. ๋ฒ๋ค๋งํ๋ ๋์ ์์คํ ์ ๋ด ๋ชจ๋ ๋ชจ๋์ ์ค๋ณต์ ์ฒญ์ํ๊ณ ๊ฑด๋ฌผ ์ฐฝ์ "์ค๋ณต ๋ชจ๋ ์ด๋ฆ" ์ค๋ฅ๋ฅผ ๋์ง๋๋ค. ๊ทธ ์ฌ์ด์ ๋นจ๊ฐ์ ํ๋ฉด์ ์น์ํ AccessibilityInfo๋ก ๋์๊ฐ๋๋ค.
AccessibilityInfo๋ ๋ฌด์์ ๋๊น? ์ด ๋ชจ๋์ ํ์ ํด๋์์ RN์ ์ฐพ์ ๋ ์์คํ ์ด ์ค์๋ก ๋ค์ ์ฌ์ฉํ๋ RN์ ์ด์ ๋ฒ์ ์ ์ด์ด RN์๋ง ์ถ๊ฐ๋์์ต๋๊น?
@johngoren AccessibilityInfo
์ ๋ํ ์ ์ผํ ํน๋ณํ ์ ์ ๊ฐ์ ธ์จ ์ฒซ ๋ฒ์งธ ๋ชจ๋์ด๋ผ๋ ๊ฒ์
๋๋ค(์คํจํ ํ์ผ์์ ์ํ๋ฒณ์์ผ๋ก ์ ๋ ฌ๋จ)
์ ์๊ฒ "npm install"์ ์ฌ์ฉํ๋ฉด ์๋ํ์ง ์์ต๋๋ค. ๋์ค์ AccessibilityInfo ๋ชจ๋์ ์ฐพ์ ์ ์๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ๋ฐฉ๊ธ "์์ฌ"๋ฅผ ์ค์นํ๊ณ ์ฑ์ด ์๋ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์ ์๋ ๋ค๋ฅธ ์ฌ๋๋ค์ ๊ฒฝ์ฐ ์๋ฃจ์
์ด ์ ๋ฐ๋๋ผ๋ ๊ฒ์ ์ฝ์์ต๋๋ค. ๊ธ์, ๋๋ ๋ด๊ฐ ํ ์ ์๋ ๋์ ์ผ์ ์ฆ๊ธธ ๊ฒ์ด๊ณ , ๋ด๊ฐ ํ ์ ์๋ ํ ์๋ฌด๊ฒ๋ ์
๋ฐ์ดํธํ์ง ์์ ๊ฒ์ด๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ์ง ์์์ต๋๋ค. ๋ด ๊ฒ์ ์ฌ์ ํ โโ0.45.1
watchman watch-del-all
rm -rf ./node_modules
yarn cache clean // if you are using yarn
rm -rf $TMPDIR/react-*
์ฌ๊ฐ๋ ๋จธ์
npm install
react-native link
์ผํ๋ค !! :)
๋ด ์๋ฃจ์ ์ @zdol ๊ณผ ๋์ผํ์ง๋ง ์์ ์๋ฃจ์ ์ผ ๋ฟ์ด์ง๋ง ๋ค๋ฅธ ๋ฒ์ ์ผ๋ก _node_modules_์์ ๊ธฐ๋ณธ ๋ฐ์ํ์ผ๋ก ๋ณต์ ๋ ์ ์์ต๋๋ค.
0.47.0 ๋ฐ 0.47.1 ์ ๋ฐ์ดํธ์ ์ด ๋ฌธ์ ๊ฐ ์์ต๋๊น?
node_modules๋ฅผ ์ญ์ ํฉ๋๋ค.
watchman watch-del-all
rm -rf ./๋
ธ๋ ๋ชจ๋
rm -rf $TMPDIR/๋ฐ์-*
๊ทธ๋ฆฌ๊ณ ์๋ฌด๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค
@Elijen ๋ง์ต๋๋ค. ์ํ๋ฒณ์์ผ๋ก ์ธํด ๋ถ๋ช ํ ์กด์ฌํฉ๋๋ค. (AccessibilityInfo ๋์ DatePickerIOS๋ฅผ ์ธ๊ธํ๋ ์ ์ฌํ ๋ฒ๊ทธ๋ ๋ณธ ๊ฒ ๊ฐ์ต๋๋ค.) ํ์ง๋ง AccessibilityInfo๊ฐ RN์ ์ถ๊ฐ๋ ์์ ์ ์์๋ผ ์ ์๋ค๋ฉด ์๋ง๋ ๊ทธ๋ด ์ ์์์ง๋ ๋ชจ๋ฆ ๋๋ค. ์ผ๋ถ ๋ชจ๋์ด ์ฌ์ฉ๋์ง ์๊ณ ํธํ๋์ง ์๋ ๋ฒ์ ์ RN์ ๋ก๋ํ๋ค๋ ์ด๋ก ์ ๋ฐ๋ผ ์งํ ์ค์ธ ๊ฒฝ์ฐ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ํ์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋๋ npm์ผ๋ก ๋ชจ๋์ ์ถ๊ฐํ๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ด๊ฐ ํต๊ณผํ ์ ์์๋ ์ ์ผํ ์๊ฐ์ ๋จ๊ณ์ ๋ฐ๋ผ ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๋ ๊ฒ์ ๋๋ค.
์ธ์์ ...
@johngoren
AccessibilityInfo ๋ชจ๋์ ์ด๊ฒ๊ณผ ์๋ฌด ๊ด๋ จ์ด ์์ต๋๋ค. react-native ๋ชจ๋์ ์ฒซ ๋ฒ์งธ ๊ฐ์ ธ์ค๊ธฐ์ผ ๋ฟ์
๋๋ค.
AccessibilityInfo๋ฅผ ๊ฐ์ ธ์จ ์ค์ ์ฃผ์ ์ฒ๋ฆฌํ๋ฉด ๋ค์ ๊ฐ์ ธ์ค๊ธฐ์์ ์ ํํ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์คํจํฉ๋๋ค.
@teppix AccessibilityInfo ์์ฒด๊ฐ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ
์ฐ๋ฆฌ๋ ๋จ์ํ ์บ์ ์ง์ฐ๊ธฐ๋ก ๋ถ๋๋ฅผ ๊ฐ๋ ๊ฒ ์ด์์ ํด์ผ ํฉ๋๋ค! ๐๐๐
์ ๋์์ด ๋์๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ํ๋ก์ ํธ ํด๋๋ฅผ ์ญ์ ํ๊ณ github์์ ๋ณต์ ํ ๋ค์ ๋ค์ ๋น๋ํ๋ฉด ๋ฒ๊ทธ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.
์ด RN ๋ง๋ฒ์ ๋๋ฅผ ๋ฏธ์น๊ฒ ๋ง๋ญ๋๋ค.
@sidious18 (๋ด ํ๋ก์ ํธ ํด๋ ์ญ์ , github์์ ๋ณต์ , ๋ค์ ๋น๋)๊ณผ ๋์ผํ ์์ ์ ์ํํ์ง๋ง ๋ฒ๊ทธ๋ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค. ๋ชจ๋ ๋จ๊ณ๋ฅผ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค. ๊ฝค ์ฌํ๋ค :/
๋ฏธ์น ๊ฒ์ ์ด ๋ฌธ์ ๊ฐ 5์ 26์ผ๋ถํฐ ์กด์ฌํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ชจ๋ ๋ฒ์ ์์ ๋ค์ ๋ฐ์ํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค...
์ค๋ฅ๋ฅผ ์ผ์ผํค๋ ๋ชจ๋์ ์ฐพ์ ๋์ผํ ๋ฐ์ ๋ค์ดํฐ๋ธ ํ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ง๋ง ์ฌ์ ํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค./
์ผ์นํ์ง ์๋ devDependencies๊ฐ ์ด๋ฌํ ์ผ์ด ๋ฐ์ํ๊ณ ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ์๋ฅผ ๋ค์ด [email protected] ์ [email protected] ๋ฅผ ์ฌ์ฉํ๋ฉด react-test-renderer ๋ [email protected] ๋ฅผ ์ค์นํ๊ณ ๋ ๋ค๋ฅธ ์์กด์ฑ์ [email protected] ์ ์ค์น npm ls --depth=10 | grep react@
๋ฐํ๋ ์ถ๊ฐ ๋ฐ์ ๋ฒ์ ์ ์ ๊ฑฐํ์ฌ ํญ์ ์ต์ ๋ฐ์ ๋ฒ ํ๋ฅผ ์ฌ์ฉํ๋๋ก ๊ฐ์ ํ ์ ์์ต๋๋ค.
๋ด ๋ฌธ์ 14209 ์ฌํ.
๋์๊ฒ "๋ฒํผ"๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ์ด๊ธฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ฌด์ํ์ง๋ง (tut tut) ์๋ฎฌ๋ ์ดํฐ๋ "AccessibiltyInfo"์ค๋ฅ๋ฅผ๋ณด๊ณ ํ์ต๋๋ค. node_modules, ์บ์, ํ์๊พผ์ ์ ๊ฑฐํ๊ธฐ ์์ํ์ง๋ง ์ฌ๋ผ์ง์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ (์ด๋ค ์ด์ ๋ก) ๋ค๋ฅธ ํจํค์ง ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ณ ์๋ ์ค๋ฅ๊ฐ ๋ค์ ๊ฐ์กฐ ํ์๋์์ต๋๋ค. ํ์ ํจํค์ง ์ค ํ๋๊ฐ ํ์ํ "๋ฒํผ" ํจํค์ง๋ฅผ ์ค์นํ์ง ์์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ถ๊ฐํ๊ณ "์ง๋ผ".
๋ด ์ ์:
1๋จ๊ณ: "Unable to resolve module AccessibilityInfo
" ๋ฌด์ - ์ด๊ฒ์ redherring์
๋๋ค(์ผ๋ถ ๋ณด๊ณ ์ ๋ฐ๋ฅด๋ฉด ์ด๋ react-native์ ๊ธด ๊ฐ์ ธ์ค๊ธฐ ๋ชฉ๋ก์์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์ผ ๋ฟ์ด๋ฏ๋ก ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ ๊ฑฐํ๋ฉด ๋ค์ ํ๋๋ ๋ฌธ์ ๊ฐ ์๊ณ ๋ค์ ํ๋๋ ๋ฑ๋ฑ...)
2๋จ๊ณ: ์ด๋๊ฐ์ ๋ถ์ผ์น๊ฐ ์์ต๋๋ค... (๋ฐ์ ๋ค์ดํฐ๋ธ ํจํค์ง ํ๋ก์ธ์ค์ ํนํ ์ฃผ์ํ์ญ์์ค).
์ด ์ค๋ฅ ์์ด 0.47.2๋ฅผ ๋น๋ํ ์ ์๋ ์ฌ๋์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค. ์๋ก์ด ํ๋ก์ ํธ๊ฐ ์์ด๋ ํ ์ ์์ต๋๋ค. ๋งค๋ฒ AccessibilityInfo ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ node_modules/react-native/Libraries/Components/AccessibilityInfo์์ AccessibilityInfo๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์ด ํ์ผ์ ์ฐพ์ง ๋ชปํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
ํ๋ก์ ํธ์์ ์ผํ๋ ์ฌ๋์ด ์ด ๋ฌธ์ ๋ฅผ ์์์ฐจ๋ ธ์ต๋๊น? ๋์๊ฒ ์ค์ํ ์คํ ํผ์ฒ๋ผ ๋ณด์ ๋๋ค.
์ ๋ ๋ช ๋ฌ ๋์ 0.44.1์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ ๋์ ๋ฒ์ ์ ๋จ์ํ ์๋ํ์ง ์์ต๋๋ค. ๋๋ Facebook์ด ์ผ๋ง ์ ์ RN์ "ํ๋ก๋์ ์ค๋น"๋ผ๊ณ ์ ์ธํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค(https://facebook.github.io/react/blog/2014/03/28/the-road-to-1.0.html). 1.0 ๋ฒ์ ์ ์ด๊ฒ์ด ๋๊ด์ ์ธ ์ง์ ์ผ ์ ์์์ ์ฆ๋ช ํฉ๋๋ค.
React Native๋ฅผ ์ฌ์ฉํด์ผ ํ๊ณ ์ด ์ค๋ฅ๋ฅผ ๊ทน๋ณตํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ค์์ ๊ถ์ฅํฉ๋๋ค.
"๋ฐ์": "16.0.0-alpha.6",
"๋ฐ์ ๋ค์ดํฐ๋ธ": "0.44.1"
(๊ทธ๋ฆฌ๊ณ ์์คํค์ 5๋ถ์ 1)
๋๋ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ด ๋งํ์ต๋๋ค.
์ ๋ ํ์ฌ "react-native": "0.46.1"์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ ๋ yarn์ผ๋ก ์ ํํ๊ณ ๊ทธ ์ดํ๋ก๋ ๋ ์ด์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์์ต๋๋ค. ํ์ฌ npm5 ๋ฌธ์ ์ค ์ผ๋ถ๊ฐ ์ค์น ํ๋ก์ธ์ค ์ค ์ญ์ ๋ ์ข ์์ฑ๊ณผ ๊ด๋ จ๋์ด ์๋๋ผ๋ npm์ ์ฐ๊ฒฐ๋๊ฑฐ๋ ์ฐ๊ฒฐ๋์ง ์์ ์ ์์ต๋๋ค.
7์ 26์ผ๋ถํฐ react-native ํ๋ก์ ํธ๋ฅผ ์ํด yarn์ผ๋ก ์ ํํ๊ณ ๋ ์ด์ ์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค. ์ด ๋ต๋ณ์ ๋ค์ ๊ฒ์ํด์ ์ ๊ฐ์ด์ง๋ง ์ด๊ฒ์ด ๋์์ด ๋ ์ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ด ํ์คํ npm5 ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ด ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ๋ง์ง๋ง์ผ๋ก ์๋ ค์ง ์์ ๋ฒ์ ์ด react 0.46.4์์ ํ์ธํ์ต๋๋ค. 0.47.0, 0.47.1, 0.47.2๋ถํฐ ๊ณ์ ์ฌ์์ฐํ๊ณ npm์ ๊ด๊ณ์์ด ๋์ผํ ๋์์ผ๋ก Node 7.6, 8.3, 8.4๋ฅผ ์๋ํ์ต๋๋ค.
๋๋ homebrew ๋ณด๋ค nvm ์ ์ฌ์ฉํ๋ ๊ด์ฐฎ์์ง ๋น ๋ฅด๊ฒ ํ ์คํธํ ์ ์์ผ๋ฏ๋ก react-native ๋ณด๋ค rninit ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฌธ์ ๋ ์ ๊ฒฝ์ฐ์๋ ํธ์ค ์ด์์ต๋๋ค. ์ต๊ทผ์ yarn v0.27.5 ๋ฅผ ์ค์นํ ๋ค์ _ react-native init _ react ๋ฐ react-native๋ฅผ ์ค์นํ๊ธฐ ์ํด npm ๋์ yarn์ ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค.
๋์ค์ npm์ ์ฌ์ฉํ์ฌ _ npm install --save redux _์ ๊ฐ์ ์ข
์์ฑ์ ์ค์นํ์ ๋ npm์ react ๋ฐ react-native์ ๊ฐ์ ํจํค์ง๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
์์ฌ๋ฅผ ์ ๊ฑฐ ํ๊ณ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค .
์๋์ฐ 8.1
0.47.2
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 2.0.1
์ค 0.27.5
npm 5.3.0
๋ฒ์ 0.46.1์ ์ฌ์ฉํ๊ณ ๋ฒ์ ์ 0.46.0์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค. ์๋ํฉ๋๋ค.
๋ฐ๋ผ์ ์ต์ react-native์์ ๋ ๋ง์ ๊ฒ์ ๊ฐ์ง๊ณ ๋๊ณ ๋๋ฉด npm --save ์ต์
์ด ๋ฌธ์ ๋ฅผ
๋งํ๋ฉด node_modules๋ฅผ ์ ๊ฑฐํ๊ณ ์์ฌ๋ก ๋ค์ ์คํํ ํ npm install ๋์ yarn add ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ญ์์ค.
๋ฌธ์ ํด๊ฒฐ์ ๋์์ด ๋๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง react-native-pdf์ ์ค์น ์ง์นจ์ ๋ฐ๋ฅด๋ ค๊ณ ํ ๋ ์ด๋ฐ ์ผ์ด ๋ ๋ฒ ๋ฐ์ํ์ต๋๋ค. ๋๋ ์ฒซ ๋ฒ์งธ ์๋ ํ์ ๋ชจ๋ ๊ฒ์ ๋ณต์ํ๊ณ ๋๊ฐ์ ์ผ์ด ๋ ๋ฒ์งธ์๋ ์ผ์ด๋ฌ์ต๋๋ค. ๋ค์์ ์ด ํผ๋์ ์ผ๊ธฐํ๋ ์ค์น ๋จ๊ณ์ ๋๋ค(react-native-pdf ์ฌ์ฉ์๊ฐ ๋น๋์ ๋ฐ๋ ๊ฒ์ ์๋๋๋ค... ๋จ์ง ์ธ๊ณผ ๊ด๊ณ์ผ ๋ฟ์ ๋๋ค):
npm install react-native-pdf --save
react-native ๋งํฌ react-native-pdf
npm install react-native-fetch-blob --save
react-native ๋งํฌ react-native-fetch-blob
๋์๊ฒ ๋ฌธ์ ๋ ์ข ์์ฑ์ด ๋๋ฝ๋์์ง๋ง AccessibilityInfo ์ค๋ฅ๊ฐ ํ์๋์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ํํ ์์ :
--reset-cache
dev-server๋ฅผ ์์ํ๊ณ ์ปดํ์ผ์ ์ํด _this_ server๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ฐ์ ๋ช
๋ น react-native run-ios
์์ด ์์ ์ dev์ ์๋ฒ๋ฅผ ์์ํฉ๋๋ค --reset-cache
ํ์ง๋ง, ์ด๋ฏธ ์คํ์ค์ธ ํ๋๋ฅผ ์ฌ์ฉํ์ญ์์ค.
๋ฐ๋ผ์ ํ๋์ ์์์:
yarn start -- --reset-cache
๋ค๋ฅธ ํ๋์์
yarn run ios
๊ทธ๋ฐ ๋ค์ ์ฒซ ๋ฒ์งธ ์
ธ์์ ์ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. yarn add
๋๋ฝ๋ dep๋ฅผ ์์ ํ๊ณ ๋ชจ๋ ๊ฒ์ด ์๋ํ์ต๋๋ค.
yarn
๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ง ์์ ์ฌ๋๋ค์ ์ํด ...
react
๋๋ react-native
๋๋ react-renderer
์ฌ์ฉํ์ง ์๋ ๋ชจ๋์ ์ฐพ๊ธฐ ์ํด ๋ด ๋ชจ๋์ ์ดํด๋ณด๊ณ ์ด๋ฅผ ๋ถ๊ธฐํ๊ณ ๋ด ํ๋ก์ ํธ์ ์ผ์นํ๋๋ก ํจํค์ง ๋ฒ์ ์ ๋ณ๊ฒฝํด์ผ ํ์ต๋๋ค. ํจ๊ณผ๊ฐ์๋ค.
์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง ์์ต๋๋ค @jnrepo , ๋ ๋๋ฌ๊ฐ ๋ชจ๋ ๊ฒ์ ์๋ง์ผ๋ก
48.1์์ Accessibilityinfo๊ฐ ๋ค์ ๋ฐ์ํ์ฌ ์ถฉ๋์ด ๋ฐ์ํ์ต๋๋ค. ๋ถ๋ช ํ babel-preset-react-native๋ฅผ 3.0.2๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด์ (2.1.0)์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
์์ํ๊ธฐ ํ์ด์ง์์ create-react-native-app ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๋์ react-native cli๋ฅผ ์ค์นํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ๊ทธ ์ดํ๋ก ๋ชจ๋ ๊ฒ์ด ์ฐจ์ง ์์ด ๊ตฌ์ถ๋๊ณ ์คํ๋์์ต๋๋ค.
์๋ ํ์ธ์. ๋๋์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ์ ์ผํ ์๊ฐ์์ด ํน์ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ ๋๋ผ๊ณ ์๊ฐํ์ต๋๋ค. https://github.com/tongyy/react-native-draggable
๋ํฌ๋ค์ ์ด๊ฒ์ ์ถ์ ํ๋ ๋ฐ ๋๋ฌด ๋ง์ ์ด๋ ค์์ ๊ฒช์๊ณ ์ค์ ๋ก ์ด ํน์ ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์๊ธฐ ๋๋ฌธ์ ๋๋ ๊ทธ๊ฒ์ ๋ฒ๋ฆด ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ์ด ํจํค์ง๋ฅผ ์ค์นํ๋ฉด ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋ฟ๋ง ์๋๋ผ ์บ์ ์ง์ฐ๊ธฐ/์ฌ์ค์ , ์ปดํจํฐ ๋ค์ ์์, node_modules ์ญ์ ๋ฑ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค๋ฅธ ๋ฐ์ ๋ค์ดํฐ๋ธ ํ๋ก์ ํธ๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ์์ํ๋ ๊ฒ ์ธ์๋ ์ด ์ค๋ ๋์์ ๋ ผ์๋ ๋ชจ๋ ํญ๋ชฉ์ด ์์๋ฉ๋๋ค. .
ํ์ด์ ๋น๋๋ค!
์ถ์ - ๋๋ babel์ ์ฌ์ฉํ์ง ์์ต๋๋ค
PPS - react-native-router-flux๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.
create-react-native-app ๋๊ตฌ๋ฅผ ์ํํ๋ฉด ํญ์ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์์ฌ ์ฌ์ฉ๋ ๊ถ์ฅ๋ฉ๋๋ค. ์์ ์๋ ๊ทธ๋ฐ ๋ฌธ์ ๊ฐ ์์์ง๋ง ์ง๊ธ์ ์์ ์ ์ธ RN ๋ฒ์ ์
๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 2.0.1
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.44.1
๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ํฐ๋ฏธ๋์์ ๋ช
๋ น์ ์คํํด ๋ณด์ญ์์ค.
```rm -fr $TMPDIR/๋ฐ์-*
rm -rf ๋
ธ๋ ๋ชจ๋
์์ฌ ์ค์น
Restart your PC then continue below
cd android && ./gradlew clean && cd ../ && react-native start -- --reset-cache
๋ฐ์ ๋ค์ดํฐ๋ธ ์คํ ์๋๋ก์ด๋
```
์ด๊ฒ์ ํญ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค
npm install [email protected]
@HilSny ๊ฐ์ฌํฉ๋๋ค. babel-preset-react-native๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ํด๊ฒฐ๋์์ต๋๋ค.
@pricetula ๋ ๋ชจ๋ ๊ฒ์ ์ฌ์ค์ ํ์ฌ ์๋ํ์ง๋ง ๋ฌธ์ ๊ฐ ๋ค์ ๋ฐ์ํ๊ณ ์ผ๋ง ์ง๋์ง ์์ nativebase๋ฅผ ๋ค์ ์ค์นํด์ผ ํ์ต๋๋ค. ๊ทํ์ ๊ธฐ์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๊ฑด๋ฐฐ!!
์์ฌ ์ถ๊ฐ react-native-router-flux@+ ๋ชจ๋ ๋ฒ์ .
์ด ์์
์ ๋์ ํจ๊ป
[ํด๊ฒฐํ๋ค]
๋ด๊ฐ ๋ณํ ๋
"devDependencies": {
"๋ฐ๋ฒจ ๋๋ด": "21.0.2",
"babel-preset-react-native": "4.0.0",
"๋๋ด": "21.1.0",
"๋ฐ์ ํ
์คํธ ๋ ๋๋ฌ": "16.0.0-alpha.12"
},
์๊ฒ
"devDependencies": {
"์ ์คํธ ์์คํฌ": "~20.0.0",
"๋ฐ์ ๋ค์ดํฐ๋ธ ์คํฌ๋ฆฝํธ": "1.3.1",
"๋ฐ์ ํ
์คํธ ๋ ๋๋ฌ": "16.0.0-alpha.12"
},
๋ฐฉ๊ธ JS ์๋ฒ๋ฅผ ๋ค์ ์์ํ์ต๋๋ค.
Bundling `index.android.js` [development, non-minified, hmr disabled] 0.0% (0/1), failed.
error: bundling failed: "TransformError: D:\\***\\index.android.js:
Cannot find module 'AccessibilityInfo'
jest์ ๋ํ ์ข
์์ฑ์ ์ ๊ฑฐํ๊ธฐ๋ก ๊ฒฐ์ ํ์ ๋ 0.41.2์์ 0.48.3์ผ๋ก ์
๊ทธ๋ ์ด๋ํ ํ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
package.json์์ ๋ค์์ ์ญ์ ํ์ต๋๋ค.
"scripts": {
"test": "jest",
},
"devDependencies": {
"babel-jest": "18.0.0",
"babel-preset-react-native": "1.9.1",
"jest": "18.1.0",
"react-test-renderer": "15.4.2"
},
"jest": {
"preset": "react-native"
}
์ฐธ๊ณ : ์ด๊ฒ์ ๋ฌธ์ํ๋์ง ์์ ์ต์
์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
react-native init AwesomeProject --skip-jest
ํ๋์ ๋ชจ๋์ ๋ณต์ํด์ผ ํ์ต๋๋ค: npm install --save-dev babel-preset-react-native
์ง๊ธ ๋ ํํ
์์ด:
"devDependencies": {
"babel-preset-react-native": "^4.0.0"
}
๋๋ ์ฌ์ฉํ๊ณ ์์ต๋๋ค :
"๋ฐ์": "16.0.0-alpha.6"
"๋ฐ์ ๋ค์ดํฐ๋ธ": "0.44.2"
npm์์ yarn์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋งค๋ ฅ์ฒ๋ผ ์๋ํฉ๋๋ค. ๋ฐ์ ๋๋ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ ๊ณผ ๊ด๋ จ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด ๋ฌธ์ ๋ ๋ชจ๋์ด ๊ธฐ๋ณธ ํ๋ก์ ํธ๊ฐ ์๋ ๋ค๋ฅธ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ ์ ์ข ์๋ ๋ ๋ฐ์ํ๋ค๋ ๊ฒ์ด ์์ ๊ฒ์๋ฌผ์์ ์ ํ๋ฆฝ๋์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๋ yarn
ํ
์คํธํ์ง ์์์ง๋ง ์ด์ ์๊ฒฌ์์ ์ ์ํ ๊ฒ์ฒ๋ผ react-native
ํด๋๋ฅผ ์์ ํ ์ ๊ฑฐํ๋ฉด ์๋ํฉ๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ฌธ์ ๊ฐ ๋๋ ๋ชจ๋์ ๋ถ๊ธฐํ๊ณ ๋ฐ์ ๋ค์ดํฐ๋ธ ์ข
์์ฑ ๋ฒ์ ์ ์
๋ฐ์ดํธํ๋ ๋ ๊ณ ํต์ค๋ฌ์ด ์ ๊ทผ ๋ฐฉ์์ ์ ์ํ์ต๋๋ค.
์ด์จ๋ ๋์์ด๋๋ค๋ฉด react-native
ํด๋ ์ญ์ ์ ๊ทผ ๋ฐฉ์ :
์ฒซ ๋ฒ์งธ:
cd /path/to/yourproject
์ด๋ฆ์ด react-native
๋ชจ๋ ํด๋๋ฅผ ํ์ํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
find . -type d -name "react-native"
๋ฌผ๋ก node_modules/react-native
ํด๋๋ฅผ ์ญ์ ํ๊ณ ์ถ์ง๋ ์์ต๋๋ค.
์ด ๋ช
๋ น์ node_modules/react-native
์์ฒด๋ฅผ ์ ์ธํ๊ณ react-native
๋ผ๋ ํด๋๋ฅผ ํ์ํฉ๋๋ค.
find . -type d -name "react-native" -not -path "./node_modules/react-native" -not -path "./node_modules/react-native/*"
๋ชจ๋ ํด๋๋ฅผ ํ ๋ฒ์ ์ญ์ ํ๋ ค๋ฉด:
find . -type d -name "react-native" -not -path "./node_modules/react-native" -not -path "./node_modules/react-native/*" | xargs rm -rf
์ด๊ฒ์ด ์คํจํ๋ฉด yarn
์๋ํ๊ฑฐ๋ npm
.
@zdol ๋น์ ์
react-native 0.47.2
ํ๊ณ ์๋๋ฐ ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
@mmarovich ์ฃ์กํฉ๋๋ค. ๋ช ๋ น์ ์ ๋ฐ์ดํธํ์ต๋๋ค.
์ด๊ฒ์ ์ ๋ง ์ ์๊ฒ ํจ๊ณผ์ ์ ๋๋ค.
`npm ์ ๊ฑฐ babel-preset-react-native
npm install [email protected] `
๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ :
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 2.0.1
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.48.3
๋๋ ๊ฐ์ ์ค๋ฅ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ค๋ฅ: ๋ฒ๋ค๋ง ์คํจ: "'...react-native-implementation.js'์์ 'ActivityIndicator' ๋ชจ๋์ ํ์ธํ ์ ์์ต๋๋ค."
์ด ์ค๋ ๋์ ์น์ ๋ค๋ฅธ ์ค๋ ๋์์ ํด๊ฒฐํ์ง ์๊ณ ๋ชจ๋ ์๋ฃจ์ ์ ์๋ํ์ต๋๋ค.
์๋ฌด๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค.
React-native๋ ๋งค์ฐ ๋ฉ์ง ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋งค์ฐ ๋ถ์์ ํฉ๋๋ค.
ํด๊ฒฐ:
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋ค :
์ค๋ฅ:
๋๋ ๋ค์๊ณผ ๊ฐ์ ์์กด์ฑ์ ๊ฐ์ง๊ณ ์์๋ค.
"์ข
์์ฑ": {
"ํ์ด์ด๋ฒ ์ด์ค": "^4.4.0",
"๋ฐ์": "16.0.0-alpha.12",
"๋ฐ์ ๋ค์ดํฐ๋ธ": "0.48.4",
"๋ฐ์ ๋ค์ดํฐ๋ธ ๋ผ์ฐํฐ ํ๋ญ์ค": "^3.35.0",
"๋ฐ์ redux": "^5.0.6",
"๋ฆฌ๋์ค": "^3.7.2",
"redux-thunk": "^2.2.0"
},
๊ทธ๋ฌ๋ ๋ฌธ์ ๋ [email protected]์ ํน์ ๋ฒ์ ์ ์ค์นํ๋ฉด ์ค์น๊ฐ ๋๋ ๋ ๊ฒฝ๊ณ ๊ฐ ํ์
npm WARN [email protected] ์
npm WARN [email protected] ์๋
ํด๊ฒฐ์ฑ
:
- 2๊ฐ์ง๊ฐ ์์ต๋๋ค.
1). ์ค์นํ๋ ๋์ ๋ฐ์ ๋๋ก ํ์๋ฅผ ์ค์นํ ์ ์์ต๋๋ค( npm WARN ..)
2).์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ํํ ์์
:
NS). react-native-router-flux ์ ๊ฑฐ(npm uninstall react-native-router-flux)
ii). ์ต์ ๋ฒ์ ์ค์น(pm install react-native-router-flux)
iii). js ํ์ผ์ ์ฝ๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๋ค.
์ด๊ฒ์ ๋์์ด ๋ ์ ์์ต๋๋ค(๊ถ์ฅํ์ง ์์ง๋ง ์ฌ์ ํ ์ฐธ์กฐ์ฉ)*
์ด ์์ ์ฝ๋๋ ํ์ฌ ์๋ ์ค์
๋๋ค) ์ฐธ๊ณ ์ฉ์ด๋ฉฐ ๋์์ด ๋ ์ ์์ต๋๋ค.* https://github.com/aksonov/react-native-router-flux/issues/1081
์ค๋ฅ ํด๊ฒฐ ํ ์ข
์์ฑ:
"์ข
์์ฑ": {
"ํ์ด์ด๋ฒ ์ด์ค": "^4.4.0",
"๋ฐ์": "16.0.0-alpha.12",
"๋ฐ์ ๋ค์ดํฐ๋ธ": "0.48.4",
"react-native-router-flux": "^4.0.0-beta.21",
"๋ฐ์ redux": "^5.0.6",
"๋ฆฌ๋์ค": "^3.7.2",
"redux-thunk": "^2.2.0"
},
์ฌ๊ธฐ ๋ด๊ฐ ์ง๊ธ๊น์ง ์ฐพ์ ๊ฒ์ด ์์ต๋๋ค. ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
(๋จ๊ณ๋ ์๊ฐ์)
npm๊ณผ ์ผ๋ถ ํน์ ๋ชจ๋ ์ฌ์ด์ ์ํธ ์์ฉ์ด ์๋ ๊ฒ ๊ฐ์ต๋๊น?
ํ๋ก์ ํธ ํด๋๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ๋ณต์ ํ๋ฉด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋ณต์ ํ ํ
yarn cache clean
yarn start
์ด๊ฒ์ "done-bar" ๋ฐ "react-native-keyboard-done-button" ํจํค์ง๋ฅผ ์ค์นํ ํ ๋ฌธ์ ๊ฐ ๋์์ต๋๋ค.
์ ํํ ๋ฌด์์ด ๋ฌธ์ ๋ฅผ ์ผ์ผ์ผฐ๋์ง ํ์คํ์ง ์์ง๋ง ๋ด package.json์์ ๋ฌธ์ ๋ฅผ ์ ๊ฑฐํ๊ณ npm install์ ์คํํ๋ฉด ๋ฌธ์ ๊ฐ ์ฆ์ ํด๊ฒฐ๋์์ต๋๋ค.
์ต๊ทผ NPM์ ๋๋ฌ์ผ ์ด์๊ฐ ๋ง์ ๊ฒ ๊ฐ์ต๋๋ค.
๋๋ ํ๋ค:
์ค
์์ฌ ์บ์ ์ฒญ์
์ค ์์
๋ํ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์คํํ๋ ค๋ ํฌํธ์์ ์คํ ์ค์ธ ๋ชจ๋ ๊ฒ์ ์ข ๋ฃํ์ต๋๋ค.
๊ทธ๊ฒ ํจ๊ณผ๊ฐ ์์๋ค.
์ด๊ฒ์ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์์ react-native init
๋ฅผ ์คํํ ํ npm
react-native๋ฅผ ์ค์นํ์ฌ ์ฌํํ ์ ์์ต๋๋ค. js-xlsx react-native ๋ฐ๋ชจ ์์ OSX, ๋
ธ๋ 8.7.0, iOS์์ ์ด ๋ฌธ์ ๋ฅผ ์ ํ์ต๋๋ค.
git clone --depth 1 https://github.com/SheetJS/js-xlsx/
cd js-xlsx/demos/react/
make ios
์ด๊ฒ์ ์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๊ณ deps์ npm install
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
# ...
react-native init SheetJS
cd SheetJS
npm i -S xlsx react react-native react-native-table-component react-native-fs
# ...
์๋ก์ด ํด๋ก ๊ณผ ์ค์น๋ก ๋ช ๊ฐ์ง ๋ฐ๋ณต๋ ํ ์คํธ๋ฅผ ๊ฑฐ์น ํ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์์ต๋๋ค.
| ๋ฒ์ | ๊ฒฐ๊ณผ |
| ------- | ------ |
| 4.3.0 | ํจ์ค |
| 5.0.4 | ์คํจ |
| 5.1.0 | ์คํจ |
| 5.2.0 | ์คํจ |
| 5.3.0 | ์คํจ |
| 5.4.0 | ์คํจ |
| 5.4.2 | ์คํจ |
| 5.5.0 | ์คํจ |
| 5.5.1 | ์คํจ |
| ์ค! | ํจ์ค |
npm
์์ ํ ํผํ๋ ๊ฒ์ด ( npm i -S
๋ฅผ yarn add
๋์ฒด) ํจ๊ณผ๊ฐ ์์ผ๋ฉฐ ์๋ง๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ผ ๊ฒ์
๋๋ค.
๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก 4.3.0์ npm
ํฐ ๋ฌธ์ ๊ฐ ์๋ ๋ง์ง๋ง ๋ฒ์ ์
๋๋ค. sudo npm install -g [email protected]
์ ๊ฐ์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๋
ธ๋ ๋ฒ์ ์ ์ ํํ ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ช
์์ ์ผ๋ก ๋กค๋ฐฑํฉ๋๋ค.
react-native-web lib๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๊ธฐ์ ์จ ๋ชจ๋ ์ฌ๋์ ์ํด
react-native-web/babel์ ํตํ ๊ธฐ๋ณธ ๋ณ์นญ์ด ์๋ํ์ง ์์ ๋ณ์นญ์ ์ง์ ์ถ๊ฐํด์ผ ํ์ต๋๋ค.
alias: {
'react-native': 'react-native-web',
'react-router-native': 'react-router',
},
react-native-cli๊ฐ ์ค์นํ ๊ธฐ๋ณธ ๋ฒ์ ์ธ react-native 0.49.5๋ฅผ ์ฌ์ฉํ๋ ์์ฃผ ์๋ก์ด ํ๋ก์ ํธ์์ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. node_modules ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํ ๋ค์ npm install
๋ฅผ ์คํํ๊ณ ์ด AccessibilityInfo ๋ฒ๊ทธ๋ฅผ ๋งค๋ฒ ๋ง๋ฌ์ต๋๋ค. ์คํํ ์๊ฐ.
peerDependency ์ถฉ๋์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. npm install
์ด(๊ฐ) ์๋ชป๋ ์์๋ก ๋ฌด์ธ๊ฐ๋ฅผ ์ค์นํ๊ณ ์์ต๋๋ค. ์ต์ ๋ฒ์ ์ react-native(ํ์ฌ v0.50.0-rc.2)๋ก ์
๊ทธ๋ ์ด๋ํ์ฌ ๋ณต๊ตฌํ ์ ์์์ต๋๋ค.
rm -rf node_modules
npm install [email protected] --save
npm install
๊ธฐํธ๊ฐ์๋ ํ์ผ์ ์ฌ์ฉํ๋ ค๊ณ ํ ๋ ์ฐ๋ฆฌ๋์ด ๋ฌธ์ ๊ฐ ๋ฐ์ .jsx
ํ์ฅ๋ณด๋ค๋ .js
ํ์ฅ. ์ด๊ฒ์ด react-native์์ ์๋ ค์ง ์ด์ ์ธ์ง ์ฌ๋ถ๋ฅผ ๋ชจ๋ฅด์ง๋ง .js
ํ์ผ๋ก ๋ค์ ๋ณ๊ฒฝ ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค . ์ด๊ฒ์ ๋ํด ๋จธ๋ฆฌ์นด๋ฝ์ ๋ฝ๋๋ค๋ฉด ์๋ํด ๋ณผ ๊ฐ์น๊ฐ ์์ต๋๋ค.
@wittjosiah ๊ฐ์ฌํฉ๋๋ค. ๋๋ ์ด ์ ์ฒด ์ค๋ ๋๋ฅผ ์ฝ๊ณ ๋ง์ง๋ง ๋๊ธ(๋น์ ์ ๊ฒ)์ด ๊ทธ ์ญํ ์ ํ๋ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค!
@danstepanov ๊ฐ์ฌํฉ๋๋ค! ํจ๊ณผ๊ฐ์๋ค!
๊ฐ์ ๋ฌธ์ , yarn cache clean && yarn start
์ด(๊ฐ) ์๋ํ์ง ์์ต๋๋ค.
์ด ๋ฌธ์ ์ ๋ํด ๋ด๊ฐ ์ป์ ๊ฒ์ yarn install
๋ฐ๋ก ๋ค์์ npm install
yarn install
๋ฅผ ์คํํ์ฌ ์์ ํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๋ฌด์์๋ก ๋ฐ์ํ๋ฉฐ ์ด๊ฒ์ ์ฌํํ๊ณ ๋ง์นจ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋จ๊ณ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ $TMPDIR์ ํ์ํ๊ณ haste-map-react-native-packager-*๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ด ๋์์ด ๋์์ต๋๋ค!
๋ฐ์ ๋ค์ดํฐ๋ธ ์บ์ ์์ฒด๋ฅผ ์ ๊ฑฐํ๊ฑฐ๋ ์ฌ์ค์ ํด๋ ์๋ํ์ง ์์์ต๋๋ค.
yarn cache clean && yarn start
๊ฐ) ํด๋์ต๋๋ค! ๐
์์ ์๋ฃจ์ ์ค AAAAAAALL์ ์๋ํ ํ(์ด๋ ๊ฒ๋ ์๋ํ์ง ์์) iOS์์ ๋ค์ ์ฝ๋ ์ค๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
jsCodeLocation = [NSURL URLWithString:@"http://192.168.192.40:8081/index.bundle"];
๋ค๋ฅธ ๋คํธ์ํฌ์ ์๋ ์ฅ์น๋ฅผ ์๊ฒฉ ๋๋ฒ๊ทธํ๋ ๋ฐ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค.
์์ ์ค์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ณ๊ฒฝํ์ ๋ :
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@โindexโ fallbackResource:nil];
๋ฌธ์ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.
@SudoPlz
#ifdef DEBUG
jsCodeLocation = [NSURL URLWithString:@"http://XXX.XXX.X.XXX:8081/index.ios.bundle?platform=ios&dev=true"];
#else
//jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
jsCodeLocation = [CodePush bundleURL];
#endif
๋๋ appdelegate.m์ ์ด์ ๊ฐ์ ๊ฒ์ ๊ฐ์ง๊ณ ์์ง๋ง ์ฌ์ ํ ์๋ํ์ง ์์ต๋๋ค. ์ด๊ฒฌ์๋ ์ฌ๋ ??
@karna41317 ์ ๋ ๋๊ณผ ๋๊ฐ์ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์์ต๋๋ค. ์ ์ ํ ์์ ์ฌํญ์ ์ฐพ์ ์ ์์์ง๋ง ์๊ฒฉ ๋๋ฒ๊น
(๋ด ์์ ์ ์ํฌ ์คํ
์ด์
์์ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์์์ ์๋ฏธ)์ ์ ๊ฒฝ ์ฐ์ง ์์ jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@โindexโ fallbackResource:nil];
์ด์จ๋ [NSURL URLWithString:@"http://XXX.XXX.X.XXX:8081/index.ios.bundle?platform=ios&dev=true"];
์ด ํ์ํ ์ด์ ๋ ๋ฌด์์
๋๊น?
๋ชจ๋ ๋ฐฉ๋ฒ์ ์๋ํ์ง๋ง ์ฌ์ ํ ํด๊ฒฐํ ์ ์์ต๋๋ค. ๋๋ค!!!!!
"dependencies": {
"@types/react": "^16.0.25",
"@types/react-native": "^0.50.7",
"@types/react-native-fetch-blob": "^0.10.4",
"@types/react-native-video": "^2.0.0",
"@types/react-navigation": "^1.0.23",
"mobx": "^3.3.1",
"mobx-react": "^4.3.3",
"react": "16.0.0",
"react-native": "0.50.4",
"react-native-android-wifi": "^0.0.19",
"react-native-audio": "^3.5.0",
"react-native-camera": "^0.12.0",
"react-native-fetch-blob": "^0.10.8",
"react-native-i18n": "^2.0.8",
"react-native-material-dropdown": "^0.5.2",
"react-native-md5": "^1.0.0",
"react-native-qrcode": "^0.2.6",
"react-native-sound": "^0.10.4",
"react-native-video": "^2.0.0",
"react-native-volume": "^0.0.1",
"react-navigation": "^1.0.0-beta.15"
},
"devDependencies": {
"@types/jest": "^21.1.7",
"@types/react-test-renderer": "^16.0.0",
"babel-jest": "21.2.0",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-preset-react-native": "4.0.0",
"jest": "21.2.1",
"react-test-renderer": "16.0.0-beta.5"
},
"jest": {
"preset": "react-native"
}
@iamcc ๋ฌธ์ ์ ์์ธ์ ์ฐพ์ ๋๊น์ง ์ด์์
์ด๋ค ๋ด์ค? react-native
0.51.0
์์ ์ฌ์ ํ ๋ฐ์ํ๊ณ ์์ต๋๋ค :/
์ ๋ ์์คํฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์์คํฌ ๋ฒ์ 21.0.0์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ์ต๋๋ค. https://blog.expo.io/expo-sdk-21-0-0-is-now-available-be33b79921b7 ์ฑ ์น์ ) ๋ฐ npm !
@iamcc ๋ฐฉ๊ธ npm install react-native --save๋ฅผ ์คํํ๋๋ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๋ํ ์คํ
watchman watch-del-all
rm -rf node_modules && npm ์ค์น
npm start --reset-cache
๋ชจ๋ ์๋ ,
๋ด ํด๋ผ์ด์ธํธ ์ปดํจํฐ ์ค ํ๋์์ ์ด์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์์ง๋ง ๋ด ์ปดํจํฐ์๋ ์์์ต๋๋ค.
๋๋ฅผ ์ํ ์๋ฃจ์ :
watchman watch-del-all
rm -rf node_modules && npm ์ค์น
watchman watch-del-all
rm -rf node_modules && npm ์ค์น
watchman watch-del-all
rm -rf node_modules && npm ์ค์น
ํฌ๋ ์บ์ ์ ๋ฆฌ --all
๊ทธ๋ฌ๋ ๋ค์ ์ค์นํ๊ธฐ ์ ์:
node์ npm์ ๊ฐ๊ฐ 7.6.0๊ณผ 4.1.2์ ์ค์นํฉ๋๋ค. ์ด๊ฒ์ ๋ด ์ปดํจํฐ์ ์์์ง๋ง ํด๋ผ์ด์ธํธ์๋ ์์์ต๋๋ค. n ํจํค์ง ๊ด๋ฆฌ์(https://github.com/tj/n)๋ฅผ ์ฌ์ฉํ์ฌ 7.6.0์ ์ค์นํ๊ณ npm install -g [email protected] ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ์ ๋ณ๊ฒฝ์ ์ํํ ์ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ผ๋ฐ์ ์ธ npm install/pod install/clean/build dance๋ฅผ ์ํํฉ๋๋ค.
์ ์๊ฒ ํจ๊ณผ๊ฐ ์์๋ ์๋ฃจ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
npm install react-native --save
npm start -- --reset-cache
๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค
์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๋ฉด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
์ด ๋ฌธ์ ์ ์ง๋ฉดํ์ง ์์์ง 2์ฃผ๊ฐ ์ง๋ฌ์ต๋๋ค. ํ์ง๋ง ์ค๋๋ถํฐ ๊ณ์ ์ฌ์๋๊ธฐ ์์ํ๊ณ ๋๋ฒ๊ทธ ๋ชจ๋์์ ํ๋ก์ ํธ๋ฅผ ์์ํ ์๋ ์์ต๋๋ค! ๋ชจ๋ ์บ์(yarn, npm, cocoapods, Xcode, packager, watchman ๋ฑ) ์ ๊ฑฐ, node_modules ์ ๊ฑฐ(3~4ํ), Mac ์ฌ์๋, ๊ธฐ๊ธฐ ์ฌ์๋๊ณผ ๊ฐ์ ๋ชจ๋ ์์ ์ ์ํํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฌด๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค! React Native๊ฐ ์๋ํ์ง ๋ชปํ๊ฒํ๋ ์์์ ๊ฒ์ด ์์ต๋๊น? ์ด ๋ฌธ์ ์ ๊ทผ๋ณธ ์์ธ์ ๋ฌด์์ ๋๊น? ์ด ํฐ์ผ์ ๋ซ์ ์ ์์ต๋๊น? ๋๋ ๋จ์ํ ๋ด ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ๋ฐ ๋ง์ ์๊ฐ์ ๋ณด๋์ต๋๋ค. ์ด๊ฒ์ ๋๋ฌด ์ฑ๊ฐ์๊ณ ๋ฌธ์ ๊ฐ๋์ด ๋น์ ์ด ์ด๊ฒ์ ๊ณ ์น ์๊ฐ์กฐ์ฐจํ์ง ์์ต๋๋ค.
์ด ์ค๋ ๋์์ ์ธ๊ธํ ๋ชจ๋ ๊ฒ์ ์๋ํ์ต๋๋ค. ์๋ฌด๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค.
๋ชจ๋ ๊ฒ์ ์ปค๋ฐํ ๋ค์ ์ ํด๋์ ํ๋ก์ ํธ๋ฅผ ๋ณต์ ํ๊ณ ๋ชจ๋ ๊ฒ์ด ์๋ํ์ต๋๋ค. ์ด์ ๋ ๋ฌป์ง ๋ง์ธ์.
๋น๋ ์ Unable to resolve module './_listCacheGet'
๋ฅผ ๋ฐ์์ ๋ lodash ํจํค์ง๋ฅผ ์ค์นํ์ต๋๋ค. ์ฌ๊ธฐ์ ๋ง์ ์๊ฒฌ์ ๋ฐํ์ผ๋ก, ๋๋ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ค์ ์ค์น "react-native": "0.52.0"
๊ณผ ์ฌ (๋ด ๊ธฐ๋ณธ ์ค์น)์ yarn upgrade react-native
๋ค์ ๋น๋๋ฅผ ๋ค์ ์์. ์ฑ์ด ์์๋๋ก ์คํ๋์์ต๋๋ค. ์ ๊ฒฝ์ฐ์๋ ์บ์ฑ ๋ฌธ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. YMMV. ์ด๊ฒ์ด ๋๊ตฐ๊ฐ๋ฅผ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๊ณ ํ๋ก์ธ์ค ์บ์๊ฐ ๋ฌธ์ ๋ผ๋ ๊ฒ์ ์์์ต๋๋ค. ๋ฐ์ ๋ค์ดํฐ๋ธ ํ๋ก์ธ์ค๋ฅผ ๋ค์ ์์ํ๋ฉด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
์ด๊ฒ์ ๊ฝค ์ฑ๊ฐ์ ์ผ์ ๋๋ค. ์ด๋ฐ๊ธ ๋๋ ทํ ์ด์ ์์ด ์ด๋ฐ ์ผ์ด ๋ฐ์ํฉ๋๋ค. ์ด์ ์๋ ค์ง ์์ ์ฌํญ(๋ชจ๋ ํญ๋ชฉ ์ญ์ , ๋ค์ ์ค์น, ์บ์ ์ง์ฐ๊ธฐ ๋ฑ)์ด ๋์์ด ๋์ง ์์ต๋๋ค. ์ข์, ๋ด๊ฐ Mac์ ๋ค์ ์ค์นํ๋ ๊ฒ ์ธ์ ์๋ํ์ง ์์ ํ ๊ฐ์ง๋ ํ๋ก์ ํธ๋ฅผ ๋ณต์ ํ๋ ๊ฒ์ ๋๋ค. ์ํด์ ์ฃ์กํฉ๋๋ค ์ด ๋ฌธ์ ์ ๋ํ ์ฐฌ์ฑํ๋ก ์ฒ๋ฆฌํ์ญ์์ค. ๊ฝค ์ค๋ซ๋์ ์ผ์ด๋๊ณ ์์์ต๋๋ค...
๊ธฐ์กด ๋ฐ์ ๋ค์ดํฐ๋ธ ์์ ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ์ค์นํด ๋ณด์ธ์(๊ธฐ์กด ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ์ญ์ ํ์ง ๋ง์ธ์).
npm install react-native --save
์ ๊ทธ๋ ๊ตฐ์ ๊ฐ์ฌํฉ๋๋ค ์๋ํด๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ฅ ๋ฌด์์ด ์ ์ ์ด๊ฒ์ด ์ด์ ์์ด ๋ฐ์ํ๋ ๊ฒ ๊ฐ๋ค๋ ๊ฒ์ ๋๋ค(์, ํญ์ ์ด์ ๊ฐ ์์ง๋ง ์ด ๊ฒฝ์ฐ์๋ ๋๊ตฌ์ ๋ํ ์์ ๊ฐ์ด ๊ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฌด์์ธ์ง ์๊ธฐ ์ด๋ ต์ต๋๋ค)
๊ธฐ์กด node_modules ์์ ์ค์นํด๋ ๋์์ด ๋์ง ์์์ต๋๋ค. ncu๋ฅผ ์คํํ๊ณ react-native-elements๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ณ npm ์บ์๋ฅผ ๋น์ฐ๊ณ ๋ค์ ์ค์นํ์ต๋๋ค. ์ด์ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค. ์ ์ด๋ ์ค๋ฅ์ ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ๋ ๋ง์ด ํ์๋์ด ์์ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
npm ์บ์์ rm -rf ~/.npm
์ง์ฐ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๊ทธ๊ฒ์ ์ผ!
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
react-native run-android
๋์ node node_modules/react-native/local-cli/cli.js run-android
์ ์ฌ์ฉํ๊ณ ์๋ํฉ๋๋ค.
์์ ๋ชจ๋ ๋ฐฉ๋ฒ์ ์๋ํ์ง๋ง ์ฌ์ ํ ์ด์ด ์์ต๋๋ค. ์์คํฌ์์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ตฌ์ถํ ํ ์ด๋ฐ ์ผ์ด ์ผ์ด๋๊ธฐ ์์ํ์ต๋๋ค.
๋ด node_modules ํด๋๋ฅผ ์ญ์ ํ์ต๋๋ค
npm install
npm start -- --reset-cache
๋๋ฅผ ์ํด ๊ทธ๊ฒ์ ๊ณ ์ณค๋ค.
์ด ์์ ์์ ๊ทธ๊ฒ์ ๋์๊ฒ ์ฐ๋ฐ์ ์ผ๋ก ๋ฐ์ํฉ๋๋ค. ์กฐ๋ง๊ฐ ๋ค์ ๋ฒ์ํ ์ ์๊ธฐ๋ฅผ
์ด๋ react-native์์ ์ฌ์ฉํ๋ eslint-preset ๋ฒ์ ๊ณผ ์ฑ์์ ์ฌ์ฉํ๋ ๋ฒ์ ๊ฐ์ ๋ถ์ผ์น๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ์ด ๋ถ์ผ์น๊ฐ ์๋ ๋ค๋ฅธ ์ข
์์ฑ๋ ์์ ์ ์์ต๋๋ค. ๋จ์ํ npm update
ํ๊ฑฐ๋(์ข
์์ฑ ๋ชฉ๋ก์ด ํฌ์ง ์์ ๊ฒฝ์ฐ) "์
๋ฐ์ดํธ ์์ " ์ข
์์ฑ์ ์ ํ์ ์ผ๋ก ์
๋ฐ์ดํธํ ๋ค์ ๋ฒ๋ค๋ง์ ์๋ํ๋ฉด ์ด ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง๋๋ค.
npm update
rm -rf node_modules
npm install --reset-cache
npm run bundle (or react-native bundle <options>)
์ด ์์ ์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
npm update
npm cache clean --force
rm -rf node_modules
yarn install
@patrikmolnar ์ ์ ์์ด ์ ์๊ฒ
๊ธฐ์กด ๋ฐ์ ๋ค์ดํฐ๋ธ ์์ ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ์ค์นํด ๋ณด์ธ์(๊ธฐ์กด ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ์ญ์ ํ์ง ๋ง์ธ์).
npm install react-native --save
์ง์ ์ ์ ํํ ํ ๋น์ทํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. _Restarting_ my React Native Debugger
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค(๋ด ์ฑ์ด ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ์๋).
๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ์์์ ์ธ๊ธํ ๋ชจ๋ ์๋ฃจ์ ์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค.(, ์ง๊ธ ์ข์ ํ๊ณ ์์ต๋๋ค. ์ด ์ค๋ฅ์์ ๋ฒ์ด๋ ์ ์๋๋ก ๋์์ฃผ์ธ์...
๋๋ฅผ ์ํด ์๋ํ๋ ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋ณต์ ํ์ญ์์ค
๋๋ ์ด๊ฒ์ ์ป์๊ณ AccessibilityInfo.ios.js์ '์ฝ์'์ ๊ฐ๋ฆฌํต๋๋ค.
๋ด๊ฐ yarn start
์ด๋ฉด ์คํจํฉ๋๋ค.
๋ด๊ฐ sudo yarn start
์ด๋ฉด ์์ ์ ์ผ๋ก ์๋ํฉ๋๋ค.
์ด๊ฒ์ ์ ๋ง ์ฑ๊ฐ์ ์ค๋ฅ์ด๋ฉฐ ๋ชจ๋ ํ๋ก์ ํธ atm์ ์ ๋์ ๊ฒ๋๋ค. ์ฌ์ง์ด ์๋ก์ด create-react-native-app ํ๋ก์ ํธ๋ฅผ ๋ง๋ ๋ค์ ์์ค ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ ๋ง๊ฐ๋จ๋ฆฝ๋๋ค.
ํธ์ง: ๋๋ฅผ ์ํด ๊ทธ๊ฒ์ react-native-communication ํจํค์ง์ ๋ด๊ฐ Expo์ react-native ํฌํฌ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ ๊ฒฝ๊ณ ์์ต๋๋ค.
node์ npm์ ๊ฐ๊ฐ 7.6.0๊ณผ 4.1.2์ ์ค์นํฉ๋๋ค.
๋ค์ด๊ทธ๋ ์ด๋๊ฐ ๋์์ด ๋์์ต๋๋ค.
์ฌ๋ฌ๋ถ, ์๋ ํ์ธ์,
@ryanmcgrath ์ ํ ์คํธ๋ฅผ ์ฌํํ์ต๋๋ค.
$> node
> let rn = require('react-native').AccessibilityInfo
Error: Cannot find module 'AccessibilityInfo'
at Function.Module._resolveFilename (module.js:555:15)
at Function.Module._load (module.js:482:25)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at Object.get AccessibilityInfo [as AccessibilityInfo] (/Users/godefroy/Go/src/github.com/united-drivers/wulo/native/node_modules/react-native/Libraries/react-native/react-native-implementation.js:19:36)
๊ทธ๋ฐ ๋ค์ ๋ฐ์ ๋ค์ดํฐ๋ธ ๊ฐ์ฒด์ ๋ชจ๋ ํค๋ฅผ ๋ณด๋ ค๊ณ ํ์ต๋๋ค.
$> node
> let rn = require('react-native')
undefined
> rn
{ AccessibilityInfo: [Getter],
ActivityIndicator: [Getter],
ART: [Getter],
Button: [Getter],
...
}
๊ทธ๋์ ์ด์ ๊ฐ ์์ต๋๋ค.
๋ฌธ์ ๋ require('AccessibilityInfo')๊ฐ ./node_modules/react-native/Libraries/react-native/react-native-implementation.js์ module.exports์ ์ก์ธ์คํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
$> node --version
v9.5.0
๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ : 0.53.3
์ ๊ฒฝ์ฐ์๋ ์ด ์ค๋ฅ๊ฐ iOS์์๋ง ๋ฐ์ํฉ๋๋ค.
๊ฒ์ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! 2018๋ 1์์ ์ถ์๋ ์ต์ ๋ฒ์ ์ React Native v0.53.0์ ์ฌ์ฉํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๋ฌธ์ ๊ฐ ์ต์ ๋ฒ์ ์์ ๊ณ์ ์ฌํ๋๋์ง ํ์ธํ ์ ์๋์?
๋๋ ์ด๊ฒ์ ๋ซ์ ๊ฒ์ด์ง๋ง ์ด๊ฒ์ด v0.53.0 ์ด์์์ ์ฌ์ ํ ๋ฌธ์ ์์ ํ์ธํ ์ ์๋ค๋ฉด ์์ ๋กญ๊ฒ ์ ๋ฌธ์ ๋ฅผ ์ด์ด์ฃผ์ญ์์ค.
๊ธฐ์ฌ ๋ฐฉ๋ฒ โข ์ ์ง ๊ด๋ฆฌ์์๊ฒ ๊ธฐ๋ํ ์ ์๋ ์ฌํญ
0.54์์ ๋ฌธ์ ๊ฐ ๋ค์ ๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
sudo react-native start
0.54์์ ์์ ํ์ต๋๋ค.
@foltz @gastonmorixe ์ด ๋ฌธ์ ๋ ์ด๋ฏธ ์ข ๋ฃ๋์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ์ฐธ์กฐํ์ฌ ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ ์ ์์ต๋๊น?
0.52์์ ๋์ผํ ๋ฌธ์ , npm start -- --reset-cache ๋ก ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
์ต์ RN์ ์์ฌ๋ฅผ ์ฌ์ฉํ๊ณ npm install์ ์คํํ๋ฉด ์ธ์ ๋ ์ง ...
์ด ํผํฉ์ผ๋ก ์ธํด ์ด๋ฌํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค....
์บ์๋ฅผ ์ง์ฐ๋ ๊ฒ์ด ํด๊ฒฐ์ฑ
์
๋๋ค..
๋จธ์ ์ฌ์์์ ๊ฐ์ฅ ๋น ๋ฅด๊ณ ๊ฐ๋จํ ์๋ฃจ์
์
๋๋ค.
npm ์ฌ์ค์น๊ฐ ์๋ํ์ต๋๋ค!
์์ ์ด๋ ๊ฒ๋ ๋๋ฅผ ์ํด ์ผํ์ง ์์์ต๋๋ค. $TMPDIR์ ์ด๊ณ ๋ชจ๋ metro-* ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํ์ญ์์ค.
์ด npm pull ์์ฒญ์ https://github.com/npm/npm/pull/20198 ๋ฌธ์ ๋ฅผ ์์ ํด์ผ ํฉ๋๋ค. ์ด๋ ์ด npm5 ๋ฒ๊ทธ๋ก ์ธํด https://github.com/npm/npm/issues/16839์ ๋๋ค.
์ด๋ก ์ธํด 0.48, 0.49, 0.50 ๋ฐ 0.54 ๋ฒ์ ์์ ๋ฉฐ์น ์ด ๊ฑธ๋ ธ์ต๋๋ค. ์ฒ์์ผ๋ก(๋ฒ์ 0.48-0.50) Haul Packager๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๊ทธ๊ฒ์ ์ข์ ํด๊ฒฐ์ฑ ์ด ์๋์๊ณ Storybook์ ์คํํ๋ ๋ฐ ๋น์ฉ์ด ๋ค์์ง๋ง ๊ทธ๋ญ์ ๋ญ ๋ฒํธ ์ ์์์ต๋๋ค. ์ด์ ์์ ํ ๋ค๋ฅธ ์ฑ, ์๋ก์ด ๋ฒ์ ์ React Native ๋ฐ ๋ฌธ์ ๊ฐ ๋ค์ ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์์ ํ ๋ฌด์์์ ๋๋ค. ์ผ๊ด๋๊ฒ ์ฌํํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์ต๋๋ค. ์ด๋ฆฌ์์ ๋๊ตฌ ๋ฒ๊ทธ์ ์ํด ํ ์ง์ด ๋๋ ํ๋ซํผ์ ๊ด์ฑ๋ฅผ ๋ณด๋ ๊ฒ์ ๋์ฐํ๊ฒ ์ค๋ง์ค๋ฌ์์ง๋๋ค.
๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ 0.54.0
์์ค์ฝ๋ 9.3
์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๋ ๋ฐ ๋์์ด ๋จ
npm cache clean --force๊ฐ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
@ujeenator ๊ฐ์ฌํฉ๋๋ค: RN 0.55.3, ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ์ฌ ์์ ํ์ต๋๋ค. NPM ์บ์ ์ฒญ์๊ฐ ํจ๊ณผ๊ฐ ์์์ต๋๋ค.
์๋นํ ๋นํ์ค ๋น๋ ์ค์ ์ด ์์ผ๋ฏ๋ก ์ด์ ๋ํ ํ์ค ์๋ต์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ .babelrc ํ์ผ์ ํฌํจํ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ๋ฌธ์ ๋ฅผ ์ถ์ ํ ์ ์์์ต๋๋ค. ๋ฒ๋ค๋ฌ๊ฐ ์ด๊ฒ๋ค์ ๋๋ฌํ๋ฉด ๋ ์ด์ ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ์ฐพ์ ์ ์๊ณ ์คํจํฉ๋๋ค. ๊ทธ๊ฒ๋ค์ ์ญ์ ํ๋ ๊ฒ์ ์ง๊ธ๊น์ง ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ์ ํ ๊ณ ๊ตฐ๋ถํฌํ๋ ์ฌ๋๋ค์๊ฒ: @fr1n63๋ ์ ๋๊ธ์ด ๋์์ด ๋์์ต๋๋ค. ๋๋ ๋ํ ์๋ฌด ์์ฉ์ด ์ ์ ๋ชจ๋ ๊ฒ์ ์๋ํ์ต๋๋ค. ์ ๊ฒฝ์ฐ์๋ react-native-vector-icons ์ปจํ ์คํธ์์ AccessibilityInfo๋ฅผ ์ฐพ์ง ๋ชปํ๋ค๊ณ ๋ถํํ์ต๋๋ค. @ fr1n63 ์ ์ ์์ ๋ฐ๋ผ node_modules/react-native-vector-icons์์ .babelrc๋ฅผ ์ญ์ ํ๊ณ npm --reset-cache๋ฅผ ๋ค์ ์์ํ๊ณ ํต๊ณผํ์ต๋๋ค. ๋๋ ์ด๊ฒ์ ์ฌํํ ์ ์๋ค; .babelrc๋ฅผ ๋ค์ ๋์ ํ๊ณ ๋ค์ ๋ฉ์ถฅ๋๋ค. ๊ทธ๋์ ๋๋ ๋ค๋ฅธ ๊ฒ์ด ํจ๊ณผ๊ฐ ์๋ค๋ฉด ์๋ํด ๋ณผ ๊ฐ์น๊ฐ ์๋ค๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค.
์ถ์ :
"๋ฐ์": "^16.3.2",
"๋ฐ์ ๋ค์ดํฐ๋ธ": "^0.54.4",
๋ด๊ฐ ์ฌ์ฉํ๋ค npm
๋์ yarn
.
์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๋ช
๋ น์ yarn
๋ฅผ ์ฌ์ฉํ์ง๋ง ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๊ทธ๋ฌ๋ npm install
ํ๋ฉด ์ ์๋ํฉ๋๋ค.
rm -rf node_modules/
npm install
npm start -- --reset-cache
yarn
๊ฐ npm
์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ข
์์ฑ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด ์์ด์ผ ํฉ๋๋ค.
"react-native": "0.47.2"
react-native init๋ก ์๋ก ์ค์นํ๊ณ Macbook์ ์ฐ๊ฒฐ๋ Android ๊ธฐ๊ธฐ์์ ์ฑ์ ์คํํฉ๋๋ค. ๊ฐ์ ์ค๋ฅ์ ๋๋ค. ์ด ์ค๋ฅ๊ฐ ์ผ๋ง๋ ์ค๋ ์ง์๋์๋์ง ๋ฏฟ์ ์ ์์ต๋๋ค. 2015๋ ์ ๊ฒ์๋ฌผ์ ๋ด ๋๋ค. RN์ธ์ง NPM์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
์ถ์ :
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.4"
},
"devDependencies": {
"babel-jest": "22.4.4",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.4",
"react-test-renderer": "16.3.1"
}
"killall -9 ๋ ธ๋"๊ฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ง๊ธ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ ธ๋ ํจํค์ง๋ฅผ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ๊ณ ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๊ณ ์บ์๋ฅผ ์ ๋ฆฌํ๋ ค๊ณ ์๋ํ์ต๋๋ค. ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ข์, ๋๋ yarn install
๋ฅผ ์ํํ์ฌ ๋ด ์์กด์ฑ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค. ๋ฌธ์ ๊ฐ ์ ํํ ๋ฌด์์ธ์ง ํ์คํ์ง ์์ง๋ง PATH ๋ฐ ์ ์ญ์ ์ผ๋ก ์ค์น๋ ํจํค์ง์ ๊ด๋ จ๋ ๋ฌธ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
ํด๊ฒฐ์ฑ ์ ์ค์ ๋ก ๊ฐ๋ฐ์ ์ปดํจํฐ๋ฅผ ์ฌ์ค์ ํ๊ณ ์บ์๋ฅผ ์ง์ฐ๊ณ ํ๋ก์ ํธ๋ฅผ ์๋ก ๋ค์ ์คํํ๋ ๊ฒ์ ๋๋ค.
๋ค์ ์ค ํ๋ ๋๋ ๋ ๊ฐ์ง๋ฅผ ์๋ํ์ญ์์ค.
์๋ฃจ์
1.
์ด๋ฅผ ์ํํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๋ ๊ฒ์
๋๋ค.
์๋ฃจ์
2
๋
ธ๋ ๋ชจ๋ ํด๋๋ฅผ ์ญ์ ํ๊ณ nodejs ์๋ฒ๋ฅผ ์คํํ๋ ํฐ๋ฏธ๋์ ๋ซ๊ณ killall -9 node
๋ฅผ ์คํํ ํ npm install --reset-cache
๋ฅผ ์คํํ๋ฉด ๋ฉ๋๋ค.
๋ฐ๋ผ๊ฑด๋ ์ด ํ์ ๋น์ ์ ๊ฐ ์ ์์ต๋๋ค.
'androidappbuildgenerated' ์๋์ ๋ชจ๋ ํด๋๋ฅผ ์ญ์ ํ๋ฉด ์๋ํฉ๋๋ค.
npm 6์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๊ณ yarn์ ์ฌ์ฉํ์ฌ ๋ชจ๋์ ์ค์นํ ํ ํจํค์ง ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ์ ์ฉํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
Loading dependency graph, done.
error: bundling failed: ambiguous resolution: module `/Users/blah/node_modules/react-native/Libraries/react-native/re
act-native-implementation.js` tries to require `AccessibilityInfo`, but there are several files providing this module. You can delete or fix them:
* `/Users/blah/node_modules/react-native-haptic-feedback/playground/node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js`
* `/Users/blah/node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js`
์ฌ๊ธฐ์์ ๋ณผ ์ ์๋ฏ์ด playground
๋๋ ํ ๋ฆฌ์ ์ค๋ณต ํ์ผ์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. :).
๋ฐ๋ผ์ ์ญ์ ํ๋ ๊ฒ์ด ์์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ํญ์ ๋๋ฅผ ์ํด ์๋ํ๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
node_modules
ํด๋ ์ ๊ฑฐyarn install
๋ฅผ ์คํํ์ฌ ํจํค์ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค.npm run-android
๋๋ npm run-ios
์ธ์ ๊ฐ๋ ๊ณ ์ณ์ง๋ฉด ์ข์ ๊ฒ ๊ฐ์์.
๋ฐ์ ๋ค์ดํฐ๋ธ:0.55.4
react-native run-ios , AccessibilityInfo
๋ํ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ? ๋์์ด ํ์ํด
error: bundling failed: Error: Cannot find module 'AccessibilityInfo' (While processing preset: "/Users/chen/ReactNative/ProgramKids1/node_modules/react-native/Libraries/react-native/react-native-implementation.js")
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
at Function.Module._load (internal/modules/cjs/loader.js:475:25)
at Module.require (internal/modules/cjs/loader.js:598:17)
at require (internal/modules/cjs/helpers.js:11:18)
at Object.get AccessibilityInfo [as AccessibilityInfo] (/Users/chen/ReactNative/ProgramKids1/node_modules/react-native/Libraries/react-native/react-native-implementation.js:17:36)
at /Users/chen/ReactNative/ProgramKids1/node_modules/lodash/_baseClone.js:145:23
at arrayEach (/Users/chen/ReactNative/ProgramKids1/node_modules/lodash/_arrayEach.js:15:9)
at baseClone (/Users/chen/ReactNative/ProgramKids1/node_modules/lodash/_baseClone.js:142:3)
at cloneDeepWith (/Users/chen/ReactNative/ProgramKids1/node_modules/lodash/cloneDeepWith.js:37:10)
BUNDLE [ios, dev] ./index.ios.js โโโโโโโโโโโโโโโโ 0.0% (0/1), failed.
ํจํค์ ๋ฅผ ์ฃฝ์ด๊ณ react-native run-ios
๋ค์ ์คํํ๋ฉด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. ๋ฒ์ ๋ฒํธ๊ฐ ๋ณ๊ฒฝ ๋ ๋๋ง๋ค ์ด๊ฒ์ด ์๋ฃจ์
์ธ ๊ฒ ๊ฐ์ต๋๋ค..
์๋ค ์, ์ผ์ ๋๋ฌด ๋ณต์กํ๊ฒ ๋ง๋ค์ง ๋ง์ญ์์ค ... ํฌ์ฅ๊ธฐ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด๋ฉ๋๋ค ...
์ด ๋ฌธ์ : react-native-implimentation.js AccessibilityInfo ๋ชจ๋์ ์ฐพ์ ์ ์์
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.55.4
node_modules๋ฅผ ๋ค์ ์ค์นํ๊ณ ์บ์๋ฅผ ์ฌ์ค์ ํด๋ ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ต๋๋ค.
node_modules๋ฅผ ๋ค์ ์ค์นํ ํ ๋ค์๋ ์คํํฉ๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ ๋งํฌ
์์ง๋ ์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ด ์์ต๋๊น?
react-native init NameOfProject๋ฅผ ์ฌ์ฉํ ํ react-native: 0.56.0๊ณผ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋๊ตฐ๊ฐ ๋๋ณด๋ค ๋จผ์ ๋งํ์ง๋ง 0.56.0
์์ 0.55.4
๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๐ ๐ ๐
์ต์ ๋ฒ์ 0.56.0์ด ์๋ํ์ง ์์ต๋๋ค.
@jerninvien ์ ๊ตฌ์ฑ์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๊ณ ์ฑ์ ์ค๋ฅ ์์ด ์คํ๋ฉ๋๋ค.
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.4"
},
"devDependencies": {
"babel-jest": "22.4.4",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.4",
"react-test-renderer": "16.3.1"
}
@LasithaPrabodha ์ ๋ค์ด๊ทธ๋ ์ด๋๋ ๋๋ฅผ ์ํ ์๋ฃจ์ ์ ์ ๋ฐ์ ๋ถ๊ณผํ์ผ๋ฉฐ babel-preset-react-native๋ ๋ค์ด๊ทธ๋ ์ด๋ํด์ผ ํ์ต๋๋ค.
yarn remove babel-preset-react-native
yarn add -D [email protected]
@sideoff ๋ค. ๋ํ v5์์ v4๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ์ต๋๋ค.
0.56.0์์ ๋ค์ด๊ทธ๋ ์ด๋ํ์ง ์๊ณ ์๋ฃจ์ ์ด ์์ต๋๊น?
@LasithaPrabodha ์ ์๋ฃจ์ ์ ์๋
error: bundling failed: Error: While resolving module `merge`, the Haste package `merge` was found. However the module `` could not be found within the package. Indeed, none of these files exist:
* `D:\ReactNative\ChartSample\node_modules\react-native\Libraries\vendor\core(.native||.android.js|.native.js|.js|.android.json|.native.json|.json)`
* `D:\ReactNative\ChartSample\node_modules\react-native\Libraries\vendor\core\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json)`
at resolveHasteName (D:\ReactNative\ChartSample\node_modules\metro-resolver\src\resolve.js:190:9)
at Object.resolve (D:\ReactNative\ChartSample\node_modules\metro-resolver\src\resolve.js:68:20)
at ModuleResolver.resolveDependency (D:\ReactNative\ChartSample\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:161:273)
at ResolutionRequest.resolveDependency (D:\ReactNative\ChartSample\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:91:16)
at DependencyGraph.resolveDependency (D:\ReactNative\ChartSample\node_modules\metro\src\node-haste\DependencyGraph.js:272:4579)
at dependencies.map.relativePath (D:\ReactNative\ChartSample\node_modules\metro\src\DeltaBundler\traverseDependencies.js:376:19)
at Array.map (<anonymous>)
at resolveDependencies (D:\ReactNative\ChartSample\node_modules\metro\src\DeltaBundler\traverseDependencies.js:374:16)
at D:\ReactNative\ChartSample\node_modules\metro\src\DeltaBundler\traverseDependencies.js:212:33
at Generator.next (<anonymous>)
์๋
ํ์ธ์ @ws7one์
๋๋ค ! node_modules
ํด๋๋ฅผ ์ญ์ ํ๊ณ npm install
๋๋ yarn
๋ฅผ ์
๋ ฅํ์ฌ ๋ค์ ์ค์นํ์๊ฒ ์ต๋๊น?
@lucienbl ๋ค ์ ๋ ๊ทธ๋ฌ์ต๋๋ค.. ํ์ง๋ง ์ฌ์ ํ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด๊ฒ์ ํจํค์ง ๋ฒ์ ๋ฌธ์ ์ฒ๋ผ ๋ณด์ด์ง ์์ต๋๋ค. ์ด ๋ฒ์ ์ ์ ํํ ๊ตฌ์ถ๋ ํ๋ก์ ํธ๊ฐ ์์ผ๋ฉฐ ์ฌ์ ํ ์ ์คํ๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ํ์คํ์ง ์์ต๋๋ค. ์ด ์์ ์์ ๋งค์ฐ ๋งํ๊ธฐ ๋๋ฌธ์ ๋์์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์์ฝํ์๋ฉด ์ด๊ฒ์ด ๋ด๊ฐ ํ ๋ชจ๋ ๊ฒ์
๋๋ค.
react-native init projectName
react-native run-android
--"AccessibilityInfo ๋ชจ๋์ ์ฐพ์ ์ ์์" ์ค๋ฅ ๋ฐ์--
@LasithaPrabodha ์ ์๋ฃจ์
์ ๊ตฌํ node_modules
๋ฐ ์ฌ์ฉํ์ฌ ๋ค์ ์ค์น npm install
react-native run-android
--"์ค๋ฅ: merge
๋ชจ๋์ ํ์ธํ๋ ๋์ ..." ์ค๋ฅ ๋ฐ์--
๋ด๊ฐ ๋ฌด์์ ๋ ์๋ํด์ผํ๋์ง ํ์คํ์ง ์์ต๋๋ค.
React Native๋ฅผ 0.55.4
๋ค์ด๊ทธ๋ ์ด๋ํ๊ณ babel ๋ฑ์ ๊ทธ๋๋ก ๋๋ค๋ฉด? @ws7one
@sideroff ๋ค์ด๊ทธ๋ ์ด๋ ๋ฐ์ ๋ค์ดํฐ๋ธ์ babel๋ ์ ๋ฅผ ์ํด ์ผํ์ต๋๋ค.
์ด ๋ฌธ์ ๊ฐ ๋ค์ ์ด๋ฆด๊น์? ์๋๋ฉด 0.55.4
์์ ๋ฉ์ถฅ๋๋ค. ๐ค
์ฌ๊ธฐ ์๋ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๋๊ฐ์ต๋๋ค. ๊ณ ์ฅ ๋ฌ์ง๋ง ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ฉด ๋ชจ๋ ๊ฒ์ด ๋ค์ ์๋ํฉ๋๋ค. ๋ค์ด๊ทธ๋ ์ด๋ํ์ ๋ ์ทจ์ฝ์ ๋ฌธ์ ๋ผ๋ ์๋ฆผ์ ๋ฐ์์ต๋๋ค. ๋ด๊ฐ ๊ทธ๊ฒ์ ๋ํด ๊ฑฑ์ ํด์ผํฉ๋๊น?
๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. Windows 10์์ ์คํํ๊ณ ๋ค์ดํฐ๋ธ 0.56.0์ ๋ฐ์ํฉ๋๋ค. ๋ค์ด๊ทธ๋ ์ด๋ ์ ํด๊ฒฐ๋์์ต๋๋ค.
rn 0.56์์ 0.55๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ฉด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
@lucienbl ํด๋ดค๋๋ฐ ..
react-native init projectName
react-native run-android
--"AccessibilityInfo ๋ชจ๋์ ์ฐพ์ ์ ์์" ์ค๋ฅ ๋ฐ์--
npm uninstall react-native
npm install --save [email protected]
react-native run-android
์ด๊ฒ์ ๋์๊ฒ ์ง๊ธ ์๋ก์ด ์ค๋ฅ๋ฅผ ์ฃผ์๋ค.
error: bundling failed: Error: Plugin 0 specified in "D:\\ReactNative\\chartSamples\\node_modules\\babel-preset-react-native\\index.js" provided an invalid property of "default" (While processing preset: "D:\\ReactNative\\chartSamples\\node_modules\\babel-preset-react-native\\index.js")
at Plugin.init (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\plugin.js:131:13)
at Function.normalisePlugin (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:152:12)
at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:184:30
at Array.map (<anonymous>)
at Function.normalisePlugins (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:158:20)
at OptionManager.mergeOptions (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:234:36)
at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:265:14
at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:323:22
at Array.map (<anonymous>)
๋น์ ์ด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ yarn install
๋์ npm install
์ค๋ฅ ์ฌ๋ผ
@ws7one , ๋น์ ์ํด์ผํฉ๋๋ค
react-native init ProjectName --version 0.55.4
react-native run-android
์ด๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค. :)
์ด๊ฒ์ ๋ฒ์ 0.56์ ๋ฒ๊ทธ์ ๋๋ค.
@ws7one babel-preset-react-native
์ 4
๋ค์ด๊ทธ๋ ์ด๋ํ์
จ๋์?
๋๋ ์ด ๋ฌธ์ ์ ์ง๋ฉดํ์ง๋ง babel-preset-react-native@4
๋ค์ด๊ทธ๋ ์ด๋ํ ํ์๋ ์ ์๋ํฉ๋๋ค.
์ต๋ 0.56.1 ~ 0.55.4 ๐
์ด ๋ฌธ์ ๋ ์ฃผ๋ก Windows์์ ์คํ๋๋ ๋ฒ๋ค๋ฌ์ ์ํฅ์ ๋ฏธ์น ๊ฒ ๊ฐ์ต๋๋ค.
๋๋ฅผ ์ํด ๋ค์ด ๊ทธ๋ ์ด๋๋ ๋ค์๊ณผ ๊ฐ์ด ์๋ํ์ต๋๋ค.
react-native init awesomeproject
npm remove --save react-native
npm i --save [email protected]
npm remove babel-preset-react-native
npm i --save [email protected]
[email protected]์ผ๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ฉด ์ ์๊ฒ
์ด๋ฌํ ์ ์ ์ค ํ๋๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๊ณ ์ฌ๋ฌ ๋ฒ ๋ค์ ์ค์นํ๋๋ฐ๋ ์ฌ์ ํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋๋ create-react-app์ ์ฌ์ฉํ์ต๋๋ค...
56.0
์ด ๋ฌธ์ ๋ #19953์์ ์ถ์ ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฒฐ๊ตญ ๋ฒ๋ค๋ง์ ์ฑ๊ณตํ์ง๋ง ์ทจ์ฝ์ ์ด ํจ๊ป ๋ฐ์ํ์ฌ npm install react-native @0.56.0์ ์คํํ๋ฉด ๋์ผํ ๋ฌธ์ ๋ก ๋ค์ ๋์๊ฐ๊ฒ ๋ฉ๋๋ค.
๋ํ package.json schemastore ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
@w7one ์ด ์ค๋ฅ๋ฅผ ํด๊ฒฐํ์ จ๋์?
error: bundling failed: Error: Plugin 0 specified in "D:\\ReactNative\\chartSamples\\node_modules\\babel-preset-react-native\\index.js" provided an invalid property of "default" (While processing preset: "D:\\ReactNative\\chartSamples\\node_modules\\babel-preset-react-native\\index.js")
at Plugin.init (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\plugin.js:131:13)
at Function.normalisePlugin (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:152:12)
at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:184:30
at Array.map (<anonymous>)
at Function.normalisePlugins (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:158:20)
at OptionManager.mergeOptions (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:234:36)
at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:265:14
at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:323:22
at Array.map (<anonymous>)
๋๋ ์ด๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ ํ ๋ชจ๋ฅด๊ณ ์ด๊ฒ์ด ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋จธ๋ฆฌ๋ฅผ ๊ธ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋์๊ฐ์ ๋ค์ ํด์ผ ํ ๋ค๋ฅธ ์ค์ํ ์ผ์ด ์์์ต๋๋ค.
ํ์ง๋ง ์ด๊ฒ์ ๋ด๊ฐ ํ ์ผ,
react-native init ProjectName
react-native run-android
--"AccessibilityInfo ๋ชจ๋์ ์ฐพ์ ์ ์์" ์ค๋ฅ ๋ฐ์--
npm uninstall react-native
npm install --save [email protected]
react-native run-android
--์ค๋ฅ: ํ๋ฌ๊ทธ์ธ 0์ด ์ง์ ๋์์ต๋๋ค...--
npm install --save babel-core<strong i="14">@latest</strong> babel-loader@latest
--์ค๋ฅ: ํ๋ฌ๊ทธ์ธ 0์ด ์ง์ ๋์์ต๋๋ค...---
npm uninstall --save babel-preset-react-native
npm install --save [email protected]
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ ์๋ํ๊ธฐ ์์ํ์ต๋๋ค
๋ด ํ์ฌ ์ข
์์ฑ:
{
"name": "chartSamples",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-preset-react-native": "^4.0.0",
"eslint-config-rallycoding": "^3.2.0",
"react": "16.4.1",
"react-native": "^0.55.4",
"react-native-highcharts": "^1.0.2"
},
"devDependencies": {
"babel-jest": "23.4.0",
"jest": "23.4.0",
"react-test-renderer": "16.4.1"
},
"jest": {
"preset": "react-native"
}
}
๋ํ @lucienbl ์ ์๋ฃจ์ ์ ์๋
react-native init ProjectName --version 0.55.4
react-native run-android
์ถ์ : @lucienbl ์ ์๋ฃจ์ ๋ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
@greenais ๋น์ ์ ์๋ฃจ์ ์ ์ ์๊ฒ ํจ๊ณผ์ ์ ๋๋ค, thk!
React Native 56.0์ ์ฌ์ฉํ๊ธฐ ์ํ ์๋ฃจ์ ์ด ํ์ํฉ๋๋ค. ์๋๋ฉด Babel์ ์ฃผ์ ๋ฌธ์ ์ ๋๊น?
React Native 0.56.0์ ์์ ํ ๋ฒ๊ทธ๊ฐ ์์ผ๋ฏ๋ก ์์ ์ ์ธ ์ ๋ฒ์ ์ ๊ธฐ๋ค๋ฆฌ๋ 0.55.4๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. :)
์ข
์์ฑ๊ณผ ๊ด๋ จ๋ 0.56
์ ๋ฒ๊ทธ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์๋ฃจ์
์ ์ข
์์ฑ์ ์ฌ๋ฐ๋ฅธ ์กฐํฉ์ ์ฐพ๋ ๊ฒ์
๋๋ค. ์ด๋ป๊ฒ ํ์
จ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ @w7one ๊ทธ ์กฐํฉ์ ์ฐพ์
react-native >> 0.55.4
babel-core >> latest
babel-loader >> latest
babel-preset-react-native >> 4.0.0
๊ทธ๋ ์ง ์์ผ๋ฉด 0.55.4๋ก ์ฒ์๋ถํฐ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉด gradle ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค .....
react-native init ProjectName --version 0.55.4
@abinax ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉดํ์ฌ 0.55.4๋ก ๋ค์ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
@tranquan ๊ทธ๊ฒ๋ง ์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์์ต๋๋ค.
๋จผ์ ๋
ธ๋ ๋ชจ๋ ํด๋๋ฅผ ์ ๊ฑฐํ์ญ์์ค.
๊ทธ ๋ค์์
react ๋ฐ react-native ๋ฒ์ 0.56.0์ ์ด๊ฒ๋ค๋ก ๋ณ๊ฒฝํ์ญ์์ค.
์ต์ ๋ฒ์ ์ react ๋ฐ react native์ ๋ํ ์๋ฃจ์
์ ์ฐพ์ผ๋ ค๊ณ ์๋ํ ํ ์๋ ๋ฒ์ ์ผ๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํด์ผํฉ๋๋ค. Android๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ package.json๊ณผ ๋์ผํ ์ข
์์ฑ ๋ฒ์ ์ ์ฌ์ฉํ์ญ์์ค.
์ข
์์ฑ": {
"๋ฐ์": "16.3.1",
"๋ฐ์ ๋ค์ดํฐ๋ธ": "0.55.4"
}
์ด์ ๋ค๋ฅธ ์๋ฃจ์ ๋ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
react-native init ProjectName --version 0.55.4
ํ์ง๋ง gradle ๋ฒ์ ์ 2.14.1 ๋์ 3.5.1๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ์ด๊ฒ์ Windows์์ ๋ค์ดํฐ๋ธ 0.56์ ๋ฐ์ํ๋ ๋ฒ๊ทธ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก ์ง์๋๋ gradle์ธ gradle 3.5.1๊ณผ ํจ๊ป 0.55.4๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ด์ ๋ณธ์ ์ผ๋ก ๋์๊ฐ ์ ์์ต๋๋ค... ๐
๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ ์ฐฝ์ ์ค์ ํ ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ง๋ง ๋งค๋ฒ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
@sarveshccauhan ์ ๋ด ๋ง์ง๋ง ๊ถ์ฅ ์ฌํญ์ ์ฌ์ฉํฉ๋๋ค.
Gradle 3.5.1๋ก ๋ค์ดํฐ๋ธ 0.55.4์ ๋ฐ์
@greenais๋ ๊ฐ์ฌํฉ๋๋ค!! react-native 0.55.4 ๋ฐ babel-preset-react-native 2.1.0์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ์ต๋๋ค!
์ด ์ค๋ ๋์ ์ ๊ณต๋ ๋ชจ๋ ์ต์ ์ ์๋ํ์ง๋ง ๋ด ์ฐฝ์์๋ ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค.
๋ด package.json์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋จํฉ๋๋ค.
{
"name": "abc",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"babel-preset-react-native": "^2.1.0",
"react": "16.4.1",
"react-native": "^0.55.4"
},
"devDependencies": {
"babel-jest": "23.4.0",
"jest": "23.4.1",
"react-test-renderer": "16.4.1"
},
"jest": {
"preset": "react-native"
}
}
@skrajath ์ง๊ธ ๋ฌด์จ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ์์ต๋๊น? ๊ฐ์ ์ค๋ฅ์ธ๊ฐ์?
WSL์ ์ฌ์ฉํ๋ฉด ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ๋ ์ ์์ต๋๋ค.
@abinax
'๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ' ๋ช
๋ น์ ์คํํ์ฌ ๋ง์ง๋ง์ผ๋ก ํ ๋ฒ ๋ ์๋ํ๋๋ฐ ์ด์ํ๊ฒ๋ AccessibilityInfo
์ค๋ฅ๊ฐ ์์ต๋๋ค. ์ฑ์ด ์ฑ๊ณต์ ์ผ๋ก ๋น๋๋์ง๋ง ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
Unable to load script from assets 'index.android.bundle'
@skrajath ์ด์ํด ๐ถ๐ถ
@abinax ์ด์ android/app/src/main/assets
์ด ์์์ต๋๋ค. ์์ฑํ ํ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค. ๋ง์นจ๋ด ์ฑ์ด ๊นจ๋ํ๊ฒ ๋ก๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
@ws7one ์ฃผ์์ ๋ฐ๋ผ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
๊ทธ ํ ๊ธฐ๋ณธ ๊ธฐ๋ฐ ๋ฐ ๋ฐ์ ํ์์ ์ค์นํ์ต๋๋ค. ๋จ์ํ ๋น ํ๋ฉด์ด ํ์๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ธฐ๋ณธ ๊ธฐ๋ฐ ๋ฒ์ ์ 2.3.5๋ก ๋ณ๊ฒฝํ์ง๋ง ๋ฐ์ ํ์์ด ์๋ํ์ง ์์ต๋๋ค.
๋๊ตฐ๊ฐ ์๋ฃจ์ ์ ๊ฒ์ํ์ญ์์ค
์์
@abinax , ๊ฐ์ฌํฉ๋๋ค
@Johncy1997
๋ด ํจํค์ง.json
{
"name": "AppName",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"moment": "^2.22.2",
"native-base": "^2.7.2",
"react": "16.4.1",
"react-apollo": "^2.1.9",
"react-native": "0.55.4",
"react-navigation": "^2.8.0"
},
"devDependencies": {
"babel-eslint": "^8.2.6",
"babel-jest": "23.4.0",
"babel-preset-react-native": "4.0.0",
"eslint": "^4.19.1",
"eslint-config-airbnb": "^17.0.0",
"eslint-plugin-import": "^2.13.0",
"eslint-plugin-jsx-a11y": "^6.1.1",
"eslint-plugin-react": "^7.10.0",
"jest": "23.4.1",
"prettier-eslint": "^8.8.2",
"react-test-renderer": "16.4.1"
},
"jest": {
"preset": "react-native"
}
}
ํด๊ฒฐ์ฑ
์ ์ฐพ์์ต๋๋ค ๋งํฌ๋ฅผ ๋ฐ๋ฅด์ญ์์ค
๋ด ์๊ฒฌ์ ํ์ธํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ญ์์ค.
https://stackoverflow.com/questions/48756550/unable-to-resolve-module-accessibilityinfo-when-trying-to-create-release-bund/51436043#51436043
๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ ์ "react-native": "0.55.4"
๋ค์ด๊ทธ๋ ์ด๋ํ์ธ์.
@Hemant-Synerzip ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ ๋ง ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ํด๊ฒฐ์ฑ ์ด ์๋๋๋ค ๐. ์์ ๋ฆฌํ๋ ์ด ์ ๋ณด์ จ๋์??
์ด๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค : {
"name": "demo21",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.4"
},
"devDependencies": {
"babel-jest": "22.4.1",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.2",
"react-test-renderer": "16.3.1"
},
"jest": {
"preset": "react-native"
}
}
์๋ ๋จ๊ณ์ ๋ฐ๋ผ์ด ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ์ต๋๋ค.
{
"name": "NameOfYourProject",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.4"
},
"devDependencies": {
"babel-jest": "23.2.0",
"babel-preset-react-native": "4.0.0",
"jest": "23.2.0",
"react-test-renderer": "16.3.1"
},
"jest": {
"preset": "react-native"
}
}
๋ฉ์ธ ํ๋ก์ ํธ ํด๋์์ node_modules ํด๋๋ฅผ ์ญ์ ํ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ๋
ธ๋ ๋ฅผ
npm install --save
react-native run-android
"react-native"๋ฅผ ํฌํจํ์ฌ ํ์ํ ๋ชจ๋ ์ข ์์ฑ์ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค. :)
์์ฌ๋ก ์ ํํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค. ์ค์์น ์ดํ๋ก ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค(1๋ ์ , ์ด ์ค๋ ๋์ ์์ ๋ถ๋ถ์์ ๋ด ๊ฒ์๋ฌผ ์ค ํ๋๋ฅผ ๋ณผ ์ ์์)
์ค๋๋ ์ค์๋ก npm์ ์ฌ์ฉํ์ฌ ์ข ์์ฑ์ ์ ์ฅํ๋ฉด ์ผ๋ถ ์ข ์์ฑ์ด ์ญ์ ๋๊ณ X ๋ชจ๋์ด ์ฌ๊ธฐ์ ์๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ๊ฐ ๋ ์ด์ ๋น๋๋ฉ๋๋ค.
react-native 0.56.0์์ ์ด๊ฒ์ด ์ด๋ป๊ฒ ์์ ๋์ง ์์์ผ๋ฉฐ ์ด ๋ฌธ์ ๋ ๋งค์ฐ ๋ง์ด ์กด์ฌํฉ๋๋ค.
3์ฃผ ์ ์ Xamarin Forms์ ๋ํด RN์ ํฌ๊ธฐํ์ต๋๋ค. ์ด๊ฒ์ด ์ ์๊ฒ ๋ง์ง๋ง ๋นจ๋์์ต๋๋ค.
๋ช ๋ฌ ๋์ ์์ ํ๊ณ ์๋ ํ๋ก์ ํธ๋ฅผ RN์์ Flutter๋ก ์ฎ๊ธฐ๋ ค๊ณ ํฉ๋๋ค. ์ด๊ฒ์ ์๊ฐ ๋ญ๋น์ ๋๋ค. ๊ทธ๋ฐ ๋ฌด๋ฅํ ์ธ์ด.
@williamdarkocode ์ธ์ด๊ฐ ๋ฌด๋ฅํ์ง ์์ต๋๋ค ... ์ ์ง ๋ณด์๊ฐ ... ๋ฌด๋ฅํ๊ฑฐ๋ ์ค์ ๋ก ์ ๊ณตํ์ง ์์ต๋๋ค ... ์๋ง๋ ๊ทธ๋ค์ ์ด๋ฏธ ๋ค์ดํฐ๋ธ ๋๋ ํ๋ฌํฐ๋ก ์ฎ๊ฒจ์ ๋ ์ด์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค :) ... ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์ฌ ๋ ์์ฌ ์ํต์ ... ์ ๋ง ๊ธฐ์ ์ด ๋ถ์กฑํฉ๋๋ค.
์ฌ๊ธฐ Vue์ฉ ๋ค์ดํฐ๋ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํด ๋ณธ ์ฌ๋์ด ์์ต๋๊น ..? React Native๊ฐ ์ด์ ์ ๋ณธ ์ ์ด ์๋ ๋ชจ๋ ์ข ๋ฅ์ ์ค๋ฅ๋ฅผ ๋์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ด ํ๋ก์ ํธ๋ฅผ Native Script - Vue๋ก ๋ณํํ ์๊ฐ์ ๋๋ค. ์ด๋ค ์ ์์ด๋ผ๋ ๋๋จํ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
@๋ผ์๋
๋๋ ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ค๊ณ ์๋ํ๊ณ ๋ค์ดํฐ๋ธ ๊ธฐ๋ฐ ๋ฐ ๋ฐ์ ํ์์ ์ผ์นํ๋ ๋ฒ์ ์ ์ค์นํ์ต๋๋ค. ๋ฐ์ ๋ค์ดํฐ๋ธ ์์ ๊ตฌ์ฑ ์์๋ง ํ์ฉํฉ๋๋ค. ์ฌ์ง์ด ๋ฐ์ ๋ค์ดํฐ๋ธ ํธ์ํฐ ๋ก๊ทธ์ธ ํจํค์ง๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. SDK ๋ฒ์ ์ ๋๋ค. ๋งค๋ฒ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ฌ์ง์ด ๋ด ํ๋ก์ ํธ ํด๋๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ํด๋๋ฅผ ์ญ์ ํ๋ ค๊ณ ํ๋ฉด "์์ค ํ์ผ ์ด๋ฆ์ด ํ์ผ ์์คํ ์์ ์ง์ํ๋ ๊ฒ๋ณด๋ค ํฝ๋๋ค. ."
๋๊ตฐ๊ฐ ๋ชจ๋ ์ข ๋ฅ์ ์ค๋ฅ์ ๋ํ ์ ํํ ์๋ฃจ์ ์ ๊ฒ์ํฉ๋๋ค.
0.56
์ด(๊ฐ) ๊ณ ์ฅ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋์ 0.55.4
์ฌ์ฉํ์ญ์์ค.
์ด๊ฒ์ ์ง์ ์ด ์์ต๋๊น? react-native๋ฅผ 0.55.4
๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ๋ฌธ์ 19126์ ๊ฑธ๋ฆฌ๊ณ 0.56
๋จธ๋ฌผ๋ฌ ์์ผ๋ฉด ์ปดํ์ผํ๊ฑฐ๋ ์๋ฎฌ๋ ์ดํฐ์์ ์คํํ๊ฑฐ๋ ์๋ฌด ๊ฒ๋ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฌด์์ ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. 19126 ๋ฌธ์ ์ ๋ํ ์์ ์ฌํญ์ด ์๋ํ์ง ์์ต๋๋ค.
์ด ๋ฌธ์ ๊ฐ ์์ง ์ข ๋ฃ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์์ง ์๋ฌด๋ ํด๊ฒฐํ์ง ๋ชปํ๊ณ ๋ชจ๋๊ฐ ์ด ๋ฌธ์ ์ ๋ํด ๋ถํํ๊ณ ์์ต๋๋ค. ์ด๋ป๊ฒ ํด๊ฒฐํ ๊น์?! ๋๋ ์ด๋ฏธ ํ๋ฃจ์ ์ผ์ ์์์ต๋๋ค. ์ ๊ทธ๊ฒ์ด ๋ฌธ์ ๋ซ๋์ง ์ดํดํ์ง ๋ชปํฉ๋๋ค.
@PrsRares ์๋ง๋ #19953์์ ์์ ์ค์ผ ๊ฒ์ ๋๋ค.
@gluons thx, ๊ทธ๋ค์ ๊ทธ๊ฒ์ ์๋
ํ์ธ. ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์๋ ๊ฒ์ ์ฝ๊ฐ ์กฐ์กํ์ง๋ง ํจ๊ณผ๊ฐ ์๋ ๊ฒ ๊ฐ์๋ฐ ์ ์ ๋ ๊น์?
react-native init ๋์ create react app์ ์ฌ์ฉํ๊ณ ์ข ์์ฑ์ ์ค์นํ๊ฑฐ๋ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๋ฐ ํ์ผ์ ์ ์กํ๊ธฐ ์ ์ npm์ ์คํํ์ญ์์ค. ์์คํฌ ๊บผ๋ด๊ธฐ ๋ฐฉ๋ฒ์ ์ ํํ์ง ๋ง์ญ์์ค. ๊บผ๋ด๊ธฐ๊ฐ ์๋ฃ๋๋ฉด ํ๋ก์ ํธ package.json์ ๋ชจ๋ ์ข ์์ฑ์ ์ค์นํ๊ณ ํ์๋๋ ํผ์ด ์ข ์์ฑ ์ค๋ฅ์ ์์ ๊ด๊ณ์์ด npm ๊ฐ์ฌ ์์ ์ ์คํํ์ง ๋ง์ญ์์ค. ๊ทธ ์ด์ ๋ npm ๊บผ๋ด๊ธฐ๋ฅผ ์คํํ ๋ ํต์ฌ ์ข ์์ฑ ๋ฒ์ ์ด ํ๋ก์ ํธ์ ๊ฐ์ฅ ์ ํฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ข ์์ฑ์ด ๋๋๋ฉด ํ๋ก์ ํธ ํ์ผ์ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ๊ณ 'ํ์ผ/๋๋ ํ ๋ฆฌ๋ฅผ ์ฐพ์ ์ ์์' ์ค๋ฅ์ ๊ฐ์ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ์ธ์.
"์ข
์์ฑ": {
"๋ฐ์": "^16.4.1",
"๋ฐ์ ๋ค์ดํฐ๋ธ": "^0.55.4"
},
"devDependencies": {
"babel-preset-react-native": "^4.0.0",
},
๋๋ฅผ ์ํด ๋ค์๊ณผ ๊ฐ์ ์ข
์์ฑ์ ๊ฐ์ง ํ์๋ ์ค๋ฅ๊ฐ ์ง์๋์์ต๋๋ค.
์๋ cmds๊ฐ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด๋์์ต๋๋ค.
์๋ ์๋๋ก์ด๋
๊ทธ๋ผ๋ค ํด๋ฆฐ
CD ..
๋ฐ์ ๋ค์ดํฐ๋ธ ์คํ ์๋๋ก์ด๋
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๋ฆฌ์๊ฒ ๋ค๋ฆฌ์ง๋ง ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๋ ๊ฒ์ด ํด๊ฒฐ์ฑ ์ด ๋ ์ ์์ต๋๋ค!