gpt4 book ai didi

r - 为 Mac 创建 R 的可移植版本(并为此版本从源安装包)

转载 作者:行者123 更新时间:2023-12-05 07:04:46 25 4
gpt4 key购买 nike

我正在尝试为 Mac 创建一个完全可移植的 R 版本,我可以将其发送给系统上没有 R 的用户,他们基本上可以双击命令文件并启动一个 Shiny 应用程序。我需要能够安装包,包括一些从源代码构建的包(以及一些来自 GitHub 的包)。

我正在使用这个 GitHub 存储库 ( https://github.com/dirkschumacher/r-shiny-electron/blob/master/get-r-mac.sh ) 中的脚本作为起点(它也粘贴在下面),创建一个 R 版本,但是 (A) 我发现当我尝试启动 R 时它给了我找不到 etc/ldpaths 和 (B) 当我尝试启动 Rscript 它运行我的系统版本时出现错误——我运行 `Rscript -e 'print(R.version)' 并打印出 4.0,这是我的 R 系统版本而不是 shell 脚本下载和处理的版本 3.5.1。

我尝试过编辑“R”可执行文件并更改 R_HOME 和 R_HOME_DIR,但是当我尝试将软件包安装到 3.5.1 目录时它仍然遇到问题。

谁能提供一些指导?

(顺便说一句,docker 不是一个选项,这需要对技术技能有限的最终用户尽可能简单。所以让他们安装 docker 等不是一个选项)

#!/usr/bin/env bash
set -e

# Download and extract the main Mac Resources directory
# Requires xar and cpio, both installed in the Dockerfile
mkdir -p r-mac
curl -o r-mac/latest_r.pkg \
https://cloud.r-project.org/bin/macosx/R-3.5.1.pkg

cd r-mac
xar -xf latest_r.pkg
rm -r r-1.pkg Resources tcltk8.pkg texinfo5.pkg Distribution latest_r.pkg
cat r.pkg/Payload | gunzip -dc | cpio -i
mv R.framework/Versions/Current/Resources/* .
rm -r r.pkg R.framework

# Patch the main R script
sed -i.bak '/^R_HOME_DIR=/d' bin/R
sed -i.bak 's;/Library/Frameworks/R.framework/Resources;${R_HOME};g' \
bin/R
chmod +x bin/R
rm -f bin/R.bak

# Remove unneccessary files TODO: What else
rm -r doc tests
rm -r lib/*.dSYM

最佳答案

很高兴能帮助您在您 Shiny 的应用中实现这一目标。您可以将此 github 存储库用于 Electron 包装 R/Shiny...只需克隆并替换 app.R(对于您的其他包,您需要在克隆后将它们安装在本地 R 文件夹中,然后从命令行运行 R R-Portable-Mac/bin 文件夹...

首先使用包含的 Hello World app.R 进行尝试

https://github.com/ColumbusCollaboratory/electron-quick-start

然后,将您的包安装到本地 R-Portable-Mac 文件夹运行时。默认包含的包... https://github.com/ColumbusCollaboratory/electron-quick-start/tree/master/R-Portable-Mac/library在使用本地 R-Mac-Portable 运行时从命令行安装.packages() 之后,您的包将显示在这里。

我们也一直在为此开发 R 插件...... https://github.com/ColumbusCollaboratory/photon

但请注意,该插件仍在开发中,不适用于已编译的 R 包;仍然必须在命令行中进入本地 R 文件夹和运行时,并将包直接安装到本地 R 文件夹 libpath 中,如上所述。

试试吧,如果您有任何疑问和问题,请通过 Github issues 告诉我们。而且,如果您已经在那里发帖,抱歉我们目前还没有回复。很乐意通过 photon 插件进行通信,以使其与编译包一起工作(进入 libPath)——如果您有时间提供帮助。谢谢!

关于r - 为 Mac 创建 R 的可移植版本(并为此版本从源安装包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62875713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com