环境配置
需要:NVM、Node、Watchman、JDK 、Android Studio、Xcode cocoapods
nvm安装
方法一
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
方法二
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
安装完之后重启Terminal或者执行命令
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
Node & Watchman
如果之前安装了node,确保node version 12+
使用nvm安装多个版本node,还可以切换node版本
nvm install stable
或者使用brew安装
brew install node
brew install watchman
Java Development Kit
使用Homebrew安装
brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
如果有报错信息,参考 MacOS Big Sur 安装adoptopenjdk8 报错
安装完成后进入到当前用户目录下 cd ~ 配置JAVA_HOME
将下列配置添加到$HOME/.bash_profile 或者 $HOME/.bashrc (如果使用的是 zsh 则添加到 ~/.zprofile 或 ~/.zshrc) 配置文件中:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home;
Android 开发环境配置
1、安装Android Studio
官网下载链接 确保安装中包含如下模块
Android SDKAndroid SDK PlatformAndroid Virtual Device
2、Install the Android SDK
勾选Android10
安装Android Studio,完成之后运行
sdkmanager "platforms;android-29" "system-images;android-29;default;x86_64" "system-images;android-29;google_apis;x86"
sdkmanager "cmdline-tools;latest" "build-tools;29.0.2"
完成后配置ANDROID_HOME环境变量全局生效
将下列配置添加到$HOME/.bash_profile 或者 $HOME/.bashrc (如果使用的是 zsh 则添加到 ~/.zprofile 或 ~/.zshrc) 配置文件中:
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
配置完成后保存,bash环境下运行source $HOME/.bash_profile ;zsh环境下运行 source $HOME/.zprofile 是配置生效. 运行 echo $ANDROID_HOME 和 echo $PATH确认下配置是否有语法相关的错误。
iOS开发环境配置
安装Xcode:直接到App Store安装即可
安装完成之后很多相关配置、iPhone虚拟机已经随之安装完成,要确保Xcode是10以上的版本
安装CocoaPods
运行命令:sudo gem install cocoapods
官方网站警告*
如果之前有在全局配置了react-native-cli,请移除掉,否则可能会引起一些异常。*
执行 pod install
报错
Could not find proper version of cocoapods (1.11.2) in any of the sources
Run `bundle install` to install missing gems.
根据提示执行又报错
bundle install
Your Ruby version is 3.0.0, but your Gemfile specified 2.7.4
解决办法:
将项目中的Gemfile中的ruby的版本改为你电脑当前安装的ruby版本或者使用rvm来安装Gemfile中指定的版本2.7.4,然后再用rvm切换到这个版本
运行项目报错
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:471:10)
at /Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:503:5
at /Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:358:12
at /Users/user/Programming Documents/WebServer/untitled/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/Users/user/Programming Documents/WebServer/untitled/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/Users/user/Programming Documents/WebServer/untitled/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
/Users/user/Programming Documents/WebServer/untitled/node_modules/react-scripts/scripts/start.js:19
throw err;
^
这个是安装了 node17+导致的,里面有安全机制的更新 有两个解决方法
方法一、 打开终端
Linux & Mac OS 使用命令
export NODE_OPTIONS=--openssl-legacy-provider
Windows 使用命令
set NODE_OPTIONS=--openssl-legacy-provider
方法二、 如果安装了nvm 直接nvm install 16 ,然后 nvm use 16即可,否则卸载node17,然后安装node16 重新运行即可
方法三、在项目中的 package.json 找到
"start": "react-scripts start"
修改为
"start": "react-scripts --openssl-legacy-provider start"