VS Code用户安装版环境下安装R languageserver包遇权限错误求解决方案
问题
在工作笔记本上使用VS Code用户版安装(所有内容均为用户级安装),按照《R Extension for Visual Studio Code》的步骤配置R语言支持:
- 系统中已安装R(>=3.4.0)
- 执行
install.packages("languageserver")时安装失败 - 后续步骤(安装VS Code R扩展、创建R文件)尚未完成
安装languageserver时的错误信息如下:
> install.packages("languageserver") Installing package into 'C:/Users/1229437/AppData/Local/R/win-library/4.3' (as 'lib' is unspecified) --- Please select a CRAN mirror for use in this session --- trying URL 'https://cran.wu.ac.at/bin/windows/contrib/4.3/languageserver_0.3.16.zip' Content type 'application/zip' length 826432 bytes (807 KB) downloaded 807 KB package 'languageserver' successfully unpacked and MD5 sums checked Warning: cannot remove prior installation of package 'languageserver' Warning: restored 'languageserver' The downloaded binary packages are in C:\Users\1229437\AppData\Local\Temp\RtmpOiMn77\downloaded_packages Warning message: In file.copy(savedcopy, lib, recursive = TRUE) : problem copying C:\Users\1229437\AppData\Local\R\win-library\4.3\00LOCK\languageserver\libs\x64\languageserver.dll to C:\Users\1229437\AppData\Local\R\win-library\4.3\languageserver\libs\x64\languageserver.dll: Permission denied
因用户权限不足,无法将文件复制到R库文件夹,寻求除更换个人笔记本外的解决办法。
解决办法
- 关闭占用文件的进程:错误提示指向dll文件无法复制,大概率是R或VS Code进程正在占用该文件。完全关闭R(包括所有终端窗口)和VS Code,重新打开R以普通用户身份执行安装命令。
- 指定用户级自定义库路径:在R中指定一个你完全拥有读写权限的文件夹作为包安装路径,比如用户文档下的R库文件夹:
可以把# 创建自定义库文件夹(如果不存在) dir.create(file.path(Sys.getenv("USERPROFILE"), "R", "library"), recursive = TRUE) # 安装包到自定义路径 install.packages("languageserver", lib = file.path(Sys.getenv("USERPROFILE"), "R", "library")) # 让R加载这个路径的包 .libPaths(c(file.path(Sys.getenv("USERPROFILE"), "R", "library"), .libPaths())).libPaths的配置写入R的用户配置文件(~/.Rprofile),每次启动R自动加载该路径。 - 临时以管理员权限运行R:右键点击R程序,选择“以管理员身份运行”,执行
install.packages("languageserver")完成安装后,关闭管理员权限的R,回到普通用户环境使用。注意若工作环境限制管理员权限,此方法可能不可行。 - 手动解压安装包:
- 从CRAN下载对应版本的
languageserver_0.3.16.zip安装包; - 手动解压到你有权限的文件夹(比如文档下的R库文件夹);
- 在R中执行
.libPaths()添加该文件夹路径,确保R能找到这个包。
- 从CRAN下载对应版本的
内容的提问来源于stack exchange,提问作者exan
相关产品推荐
相关产品推荐

