公司强制OneDrive接管目录,如何安装R包?
解决OneDrive接管R包默认目录导致的安装失败问题
错误信息
Error in nchar(homeDir) : invalid multibyte string, element 1 In addition: Warning message: In normalizePath(path.expand(path), winslash, mustWork) : path[1]="C:/Users/XXXX/OneDriveAtWorkplace/Dokumenter": Den angivne sti blev ikke fundet
问题核心是R默认包安装目录指向了OneDrive下不存在的路径,且路径存在编码异常,导致无法正常安装包。以下是两种修改默认安装目录的方案:
临时修改(仅当前R会话生效)
提前创建一个非OneDrive的本地目录(比如C:/R_Libraries),在R控制台执行:
# 设置新的包安装目录 .libPaths("C:/R_Libraries") # 验证设置是否生效,输出的第一个路径即为默认安装目录 .libPaths()
之后安装包时会自动安装到该目录。
永久修改(每次启动R自动生效)
通过修改R配置文件实现永久生效:
- 在R控制台运行以下命令,找到用户级配置文件
.Renviron的路径:
path.expand("~/.Renviron")
- 打开该文件(不存在则手动创建),添加一行内容(替换为你选定的本地目录):
R_LIBS_USER="C:/R_Libraries"
- 保存文件后重启R,运行
.libPaths()确认默认目录已变更。
注意:确保你指定的目录拥有读写权限,避免安装时出现权限错误。
内容的提问来源于stack exchange,提问作者Esben Eickhardt
相关产品推荐
相关产品推荐

