用新环境运行老RN项目,或者换电脑运行RN项目,环境配置不对会引起项目无法执行,建议先重新安装环境,然后执行(因为RN项目的运行 与本地环境,终端脚本执行顺序,模拟器版本等都有关系)。

1.卸载Homebrew  并重新安装

   1.1先卸载Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

  1.2 然后再安装

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

参考链接:https://www.jianshu.com/p/133705e0ae74?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

1.3注意:

在macOS High Sierra(10.13.6)及以上版本的Mac上面,使用brew install *** 安装时老是报错 :Permission denied权限不足问题等等,因为苹果已经不允许Homebrew作为根来安装了。

请执行:

$ sudo chown -R `whoami` /usr/local/Homebrew/
$ sudo chown -R $(whoami) $(brew --prefix)/*
$ sudo mkdir /usr/local/Frameworks
$ sudo chown -R `whoami` /usr/local/Frameworks/

参考链接:https://blog.csdn.net/meifannao789456/article/details/105083605)

2.卸载原来的环境并安装最新  node环境:

2.1卸载node:

sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d

2.2验证:

//输入node 点击回车
node
// 提示:command not found
//输入npm 点击回车
npm
// 提示:command not found

参考链接:https://www.cnblogs.com/everlose/p/12846234.html

2.3 安装node :

brew install node

2.4   安装 watchman

brew install watchman

Watchman则是由 Facebook 提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager 可以快速捕捉文件的变化从而实现实时刷新)。如果你已经安装了 Node,请检查其版本是否在 v12 以上。

安装完 Node 后建议使用科学上网工具加速后面的过程,使用淘宝镜像也不可靠,但如果没有钱买代理 可以尝试使用淘宝的镜像:

# 使用nrm工具切换淘宝源
npx nrm use taobao# 如果之后需要切换回官方源可使用
npx nrm use npm

注意:不要使用 cnpm!cnpm 安装的模块路径比较奇怪,packager 不能正常识别!

2.5 如果你发现你的终端执行脚本的时候出现 cnpm ***  *** 开头的,一定要替换为  npm  或者 yarn。

2.6 Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。

npm install -g yarn

安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用yarn代替npm install命令,用yarn add 某第三方库名代替npm install 某第三方库名

可参考RN中文网:https://www.react-native.cn/docs/environment-setup

3. 下载 官网Node

如果多次下载不成功,还可以从官网下载,参考链接:https://zhuanlan.zhihu.com/p/99841609

4 .打开你的RN项目:

找到 package.json文件:

把这段代码粘贴进去:

 "scripts": {"0-清除安卓build文件": "rm -r -f ./android/app/build ./android/build","0-清除苹果build文件": "rm -r -f ./ios/build","1-清除全部build文件": "rm -r -f ./android/app/build ./android/build  ./ios/build","2-清理冗余": "watchman watch-del-all","3-升级": "watchman watch-del-all && rm -rf node_modules","3.1-安装npm": "npm install","4-关联": "react-native link","5-替换文件": "cp -r MarkDown/editFile/findMatchingSimulator.js node_modules/react-native/local-cli/runIOS && cp -r MarkDown/editFile/index.js node_modules/native-echarts/src/components/Echarts && cp -r MarkDown/editFile/Ionicons.json node_modules/react-native-vector-icons/glyphmaps && cp -r MarkDown/editFile/Ionicons.ttf node_modules/react-native-vector-icons/Fonts && cp -r MarkDown/editFile/Ionicons.ttf node_modules/native-base/Fonts && cp -r MarkDown/editFile/RCTModuleMethod.mm node_modules/react-native/React/Base","6-podInstall": "cd ios && pod install","7-start": "node dev-server.js 8080","8-运行iOS模拟器": "yarn react-native run-ios","9-运行Android模拟器": "yarn react-native run-android","打包安卓": "cd android/ && ./gradlew assembleRelease","打开APK位置": "open ./android/app/build/outputs/apk/release","npmUninstall": "npm uninstall --save react-native-device-info@0.22.5","npmInstall": "npm install --save react-native-device-info@0.22.5","npmInstalllink": "react-native link react-native-device-info"},

如图:

执行 代码里的1-6步,然后点击

运行即可;

5 .

如果修改RN内容 进行热更新而模拟器没变化 即 关联不上问题:

* 修改VSCode默认配置文件,点击左下角: 齿轮 标志图 -> 设置,搜索框输入: files.autoSave。

* 把"files.autoSave":"off"   修改成 "files.autoSave":"onFocusChange",意思是当编辑器失去焦点的时候就会自动更新文件内容到磁盘。

选择:onFocusChange 重启VScode即可。

可参考:https://blog.csdn.net/qq_38826019/article/details/114644873

6.  iOS运行模拟器 代码报错:

Cannot initialize a parameter of type 'NSArray<id<RCTBridgeModule>> *' with an lvalue of type 'NSArray<Class> *__strong'
Cannot initialize a parameter of type 'NSArray<Class> *' with an lvalue of type 'NSArray<id<RCTBridgeModule>> *__strong'
Cannot initialize a parameter of type 'NSArray<id<RCTBridgeModule>> *' with an rvalue of type 'NSArray<Class> *'

这是由于升级XCode 12.5之后的问题,在ios/Podfile文件中加入如下的脚本即可:

post_install do |installer|
## Fix for XCode 12.5find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm","_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm","RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
enddef find_and_replace(dir, findstr, replacestr)Dir[dir].each do |name|text = File.read(name)replace = text.gsub(findstr,replacestr)if text != replaceputs "Fix: " + nameFile.open(name, "w") { |file| file.puts replace }STDOUT.flushendendDir[dir + '*/'].each(&method(:find_and_replace))
end

然后,重新执行pod install 命令安装即可。也可以使用12.0 获取其他低版本xcode 开发工具。

参考链接:https://www.jb51.net/article/211935.htm

React Native 运行环境安装:0.6以下/以上版本的 新老项目 都适用相关推荐

  1. React Native windows环境安装遇到的坑

    在官方中文文档中(http://reactnative.cn/docs/0.37/getting-started.html)有一段话是:使用Chocolatey来安装NodeJS.注意,目前已知Nod ...

  2. windows 下配置 react native 开发环境

    windows 下配置 react native 开发环境 安装nvm 由于react native 需要使用 NodeJs 4.0以上版本,为了方便切换NodeJs,首先我们需要安装nvm. 你可以 ...

  3. [转] 在Mac上搭建React Native开发环境

    原文链接: http://blog.csdn.net/xiangzhihong8/article/details/53914336 概述 前面我们介绍过在window环境下开发React Native ...

  4. Windows环境下安装React Native开发环境----记一次填坑过程

    前言 集成React Native开发环境遇到各个坑,调试了很久出现过找不到设备,百度上个别人的资料有误被绕来绕去耽误了很多时间,下载慢等待时间过长等问题,最后多方查阅资料,电脑重启等操作终于部署好了 ...

  5. 在windows上搭建React Native开发环境

    最近要学习React Native,但是在window上搭建开发环境的时候遇到了些问题,以至于一直没有搭建好开发环境. React Native相关项目及文档: react-native的GitHub ...

  6. React.js 小书 Lesson5 - React.js 基本环境安装

    React.js 小书 Lesson5 - React.js 基本环境安装 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson5 转载请注明 ...

  7. linux go语言运行环境,安装Go语言运行环境

    安装Go运行环境,如果从旧版本的Go进行升级,必须先删除现有版本. 1. 二进制包安装 下载包 cd /usr/local/src wget https://storage.googleapis.co ...

  8. VScode配置CMD本地运行环境(2.0)

    VScode配置CMD本地运行环境(2.0) 官方Task.json说明 完整的Task.json配置信息 Task.json预定义变量 看了很多网上的教程都说需要下载VScode的python插件, ...

  9. DL之IDE:深度学习环境安装之Visual Studio 2015版本+CUDA8.0+Cudnn8.0+OpenCV 3.1.0版本完美搭配安装图文教程之详细攻略

    DL之IDE:深度学习环境安装之Visual Studio 2015版本+CUDA8.0+Cudnn8.0+OpenCV 3.1.0版本完美搭配安装图文教程之详细攻略 导读:网上教程一大把,瞎指挥的不 ...

  10. jupyter运行环境安装与使用

    jupyter运行环境安装与使用 所有文章不设限,我们相遇偶然,相散坦然,互不打扰,各自安好,向阳而生 一.利用python环境,使用pip命令安装 1. 安装jupyter的方式 此处省去对于pyt ...

最新文章

  1. Windows和Linux的编译理解
  2. 为SharePoint 2010创建Application Page
  3. js中各种跨域问题实战小结
  4. 花里胡哨,如何在Linux终端输出带有颜色的字体,将带颜色的字体赋值给变量...
  5. 中国农业大学计算机研究生分数线,中国农业大学2017年硕士研究生招生考试复试分数线...
  6. 云存储精华问答 | 云存储是如何工作的?
  7. arcmap创建空间索引_GIS中创建空间索引的一种方法
  8. python之验证身份证号合法性的库:id_validator
  9. 基于JAVA+Swing+MYSQL的停车场管理系统
  10. 知乎问答 | 如何在同一坐标系下绘制多幅图形
  11. 嵌入式设备中支持国密算法的方法——移植Miracl库的步骤说明
  12. GBK字符串转Unicode字符串
  13. 计算机cpu型号在哪看,cpu型号,教您电脑cpu型号怎么看
  14. oracle nologging append 注意
  15. 2021人工智能原理与算法(国科大张文生老师主讲)
  16. 【计算机网络】 网关:即“默认网关”的作用, 以及 默认路由的作用(只有路由器才有默认路由)
  17. 自动摘要生成(一):最大边界相关算法(MMR)
  18. 牛客-郊区春游(状态压缩dp)(java)(c++)
  19. maven中的命令行命令
  20. 计算机基础及office办公软件应用,计算机基础及Office办公软件应用.pptx

热门文章

  1. 7个示例科普CPU CACHE(zz)
  2. 竞价推广账户日常优化需要注意十大要点
  3. Android 编程下 ListView 和 CheckBox 混合使用时的常见问题
  4. 坑爹的RegExp test()
  5. 批量删除QQ好友的方法
  6. Photoshop操作秘籍
  7. 知乎:国家何时整治程序员的高效现象?
  8. 这个被程序员捧上神坛的IDEA插件出来后,我扔掉了Postman了
  9. 千万级用户-亿级请求的平台架构演变
  10. php 去掉 回车 换行,php去掉换行符的方法