如何在 Google 云中获得对 AI Platform R 3.6 笔记本实例中库文件夹的写入权限

How to get write access to the library folder in AI Platform R 3.6 notebook instance in Google Cloud

我在 Google Cloud 上的 AI Platform 中的 JupyterLab 中安装 R 包时遇到问题。 我是我工作的项目的所有者。 我创建了一个新的 R 3.6 实例,并将权限设置为默认的 Compute Engine 默认服务帐户。

问题是由于某种原因我没有保存包的文件夹的写入权限,即使我是项目所有者,因此应该对项目中的所有内容具有写入权限。

这是我尝试过的方法和我收到的错误消息:

install.packages("RCurl", repos='http://cran.us.r-project.org')

这是我收到的错误消息:

Warning message in install.packages("RCurl", repos = "http://cran.us.r-project.org"):
“'lib = "/opt/conda/lib/R/library"' is not writable”
Error in install.packages("RCurl", repos = "http://cran.us.r-project.org"): unable to install packages
Traceback:

1. install.packages("RCurl", repos = "http://cran.us.r-project.org")
2. stop("unable to install packages")

我试过设置 repos 参数和不设置它。

今天早上我遇到了完全相同的问题。我的同事分享了他在 google 云上的 jupypter 中使用 R 的方法。如果有帮助:

创建一个常规计算实例,然后安装 conda,然后 运行 以下命令:

conda create --name r_3 r-base r-essentials r-devtools jupyterlab r-devtools

conda activate r_3

nohup jupyter lab --no-browser --port=12345 --ip='0.0.0.0' &

在 google 云上 shell

gcloud compute ssh --project "your-project-name" --zone "your-zone" "your-instance-name" -- -L 12345:localhost:12345 -4

然后在运行ning之后点击link到jupyter notebook:

tail nohup.out

根据设计,默认的 jupyter 用户没有 root 访问权限,因为您应该 install packages locally。例如(请注意,您可以将 /tmp 替换为本地目录): install.packages("leaflet", lib="/tmp")