React-Native开发-环境配置

591 阅读3分钟

环境配置

需要: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 SDK
  • Android SDK Platform
  • Android Virtual Device

2、Install the Android SDK

截屏2022-01-17 下午5.37.01.png

勾选Android10

截屏2022-01-17 下午5.35.39.png

截屏2022-01-24 下午3.40.48.png

安装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"