MacOS安装rJava
rJava出了名的难装,一大堆问题。
核心的问题:
1. java版本问题,最好用1.8版本的java
2. 编译器的问题
3. 相关头文件header的问题
之前几次装过,但都放弃了,这次花了一下午终于搞定了。
对于MacOS,首先就是要配置好Java的环境,brew装java1.8
brew cask install java8 已经失效,无法安装。
参见这里,可以装另一个版本。
brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8
然后需要管理java的环境
brew install jenv
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
jenv global openjdk64-1.8.0.222
然后就是配置R的java环境,这一步必须要成功,否则后面无法进行
R CMD javareconf
大坑:java不是1.8或者java版本太老不对,这一步都会报错,总之就是用brew不断去试不同版本的java,直到成功。
最后就是装rJava了
CC="/usr/local/opt/llvm/bin/clang -fopenmp" R --quiet -e 'install.packages("rJava", type="source", repos="http://cran.us.r-project.org")'
大坑:CC就是指定编译器,因为R会莫名其妙的用最老的clang来编译,那肯定会报错,其次后面的参数也必须添加。主要是这两个坑,后面源码安装。
最后的最后,如果在rstudio或jupyter里用rJava,还需要指定一下Java的位置,以便找到动态链接文件:
Sys.setenv(JAVA_HOME='/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home')
总结:java一定要装对,最好配一个java多版本的管理软件,其次需要先配置R的java环境,最后就是用合适的编译器来源码安装。(做错任意一步都会导致rJava安装报错)
这个本来就是个版本混乱、多语言互斥的问题:
Java牛逼,导致大部分其他语言想调用它的功能;
Java永远在不断更新,其他调用它的包的代码也必须持续更新,所以良好的向下兼容是必须的;
关于编译器和头文件:
需要安装最新版的xcode,然后建立header文件的软链接
/usr/local/opt/llvm/include
/Applications/Xcode.app//Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
MacOS安装rJava的更多相关文章
- macOS 安装 Java (Homebrew)
macOS 安装多个 Java 版本 Homebrew 是 macOS 下的一个非常好用的包管理工具, caskroom 则是基于 Homebrew 构建的一个强大的应用程序管理器. Homebrew ...
- macOS 安装 ctags
macOS 安装 ctags macOS 自带一个 ctags,但是不支持 -R 参数,递归产生tags文件 $ ctags -R --exclude=.git --exclude=log * cta ...
- MacOs 安装cordova报无权访问题解决方案
在MacOS安装cordova后,执行cordova -v报错: Error: EACCES: permission denied, open '/Users/jianuonuo/.config/co ...
- macOS 安装 Docker
系统要求 Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite,或者 2010 年以后的 Mac 机型,准确说是带 Intel MMU 虚拟化的,最低 4GB 内 ...
- Mac下安装rJava,xlsx,ReporteRs包
xlsx包可以用来读取excel数据,ReporteRs包可以用来直接输出word报告,这两个包都对rJava包有依赖,所以必须先安装rJava. (1)查看mac的java信息 java版本: &g ...
- macOS 安装配置yaf框架 生成yaf项目
macOS 安装配置yaf框架 Yaf只支持PHP5.2及以上的版本. 并支持最新的PHP5.3.3 Yaf需要SPL的支持. SPL在PHP5中是默认启用的扩展模块 Yaf需要PCRE的支持. PC ...
- MacOS安装Docker傻瓜式教程
最近电脑越来越卡了,为了减少系统开销,以及后期维护方便,所以考虑将本地安装一些服务迁移到docker中去管理,这一切的基础是要先有docker服务,所以本文就先记录怎样在mac上安装配置docker, ...
- 苹果 macOS 安装 Source Code Pro
1. 下载 到 Source Code Pro 的 GitHub 官网下载:https://github.com/adobe-fonts/source-code-pro 点击 GitHub 中 ...
- macOS 安装 Docker Desktop CE(转)
现在基本上都使用docker进行部署项目,所以还是有必要学习下,关于docker的简介这里就不在描述,本文转载自https://yeasy.gitbooks.io/docker_practice/co ...
随机推荐
- Git管理修正(取消跟踪、合并commit)
本文总结了最近使用Git时候遇到的两个问题: 1. 当将不必要跟踪的文件加入到仓库后如何处理? 2. 提交了多个功能相同的commit后如何处理? 总结经验 在创建仓库的一开始,就要设置号.gitig ...
- restframework中根据请求的类型修改序列化类
只要在视图中重写get_serializer_class方法就可以,用if对请求的类型进行判断 def get_serializer_class(self): if self.action == &q ...
- SpringBoot + sqlserver+mybatis
一.maven引入 <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId&g ...
- 【Spring Boot】Spring Boot之自定义拦截器
一.拦截器的作用 将通用的代码抽取出来,达到复用的效果.比如可以用来做日志记录.登录判断.权限校验等等 二.如何实现自定义拦截器 1)创建自定义拦截器类并实现HandlerInterceptor类 / ...
- 【Maven错误】 Non-resolvable parent POM for ...... Return code is: 500 , ReasonPhrase:Internal Server Error. and 'parent.relativePath' points at no local POM @ line 14, column 11
一.异常信息 [INFO] Scanning for projects... Downloading: http://www.myhost.com/maven/jdk18/org/springfram ...
- Python_正则表达式语法
1.正则表达式中的操作符: 2.re库的使用: import re #search方法要求只要待匹配的字符串中包含正则表达式中的字符串就可以 match = re.search('python+',' ...
- Linux用户组和权限管理
Linux用户组和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux的安全模型 1>.安全3A 这并不是Linux特有的概念,在很多领域都有3A的概念 ...
- Linux CentOs下安装lnmp
1.下载源码包 以root目录为例: cd ~ # 下载安装包 wget http://nginx.org/download/nginx-1.17.2.tar.gz # nginx wget http ...
- scrapy框架爬取智联招聘网站上深圳地区python岗位信息。
爬取字段,公司名称,职位名称,公司详情的链接,薪资待遇,要求的工作经验年限 1,items中定义爬取字段 import scrapy class ZhilianzhaopinItem(scrapy.I ...
- 深度学习Keras框架笔记之AutoEncoder类
深度学习Keras框架笔记之AutoEncoder类使用笔记 keras.layers.core.AutoEncoder(encoder, decoder,output_reconstruction= ...