当前位置:   article > 正文

RN解决(Mac):error:0308010C:digital envelope routines::unsupported_mac digital envelope routines::unsupported

mac digital envelope routines::unsupported
1.报错

楼主iOS,项目里集成了RN,升级了node版本之后,RN项目报错 error:0308010C:digital envelope routines::unsupported

2.报错原因

出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制。

3.解决方案

3.1版本降级,解决报错

卸载node.js17以上版本,安装node.js16版本,问题解决。(nvm很方便)

3.2修改配置文件

找到项目的package.json文件,把自己对应的命令,加上&&,写到启动项目的配置里面

  1. "scripts": {
  2. "start": "yarn react-native start",
  3. "serve": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service serve",
  4. "build": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build",
  5. "build:report": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build --report"
  6. },

还可以在.zshrc里加这一句,source ~/.zshrc 一下

export NODE_OPTIONS=--openssl-legacy-provider

保存退出之后运行RN项目 npm start,搞定!

4.注意

1.node安装路径,(我有一个朋友)之前使用Homebrew安装了某个版本的node,后来又听前端同事说nvm方便管理node版本,于是安装了nvm,使用nvm又安装了一个版本的node,导致进了个坑。卸载brew安装的node,清除缓存之后,美滋滋~

2.使用nvm作为node版本管理工具时,报错 React Native ios build : Can’t find node

error: Can’t find ‘node’ binary to build React Native bundle If you have non-standard nodejs installation, select your project in Xcode, find ‘Build Phases’ - ‘Bundle React Native code and images’ and change NODE_BINARY to absolute path to your node executable (you can find it by invoking ‘which node’ in the terminal)

这是Xcode找不到node,可以使用软连接的方式,将node链接到/user/local/bin/node目录上,Xcode即可找到node

ln -s $(which node) /usr/local/bin/node

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/983783
推荐阅读
相关标签
  

闽ICP备14008679号