我正在尝试安装 R: devtools,但单个依赖项 (ps) 无法安装,导致缺乏依赖项。我在 Windows 10、R 3.6 和当前的 RStudio 版本上使用 WSL Ubuntu。
它在所有情况下都会失败(使用 RStudio、通过命令提示符访问、在管理模式下启动上述所有内容、使用 sudo 启动 R)。我还尝试按照有关类似问题的其他问题的建议关闭防火墙。最后,我尝试将其安装到其他
.libPaths()
位置。其他软件包安装得很好。我还没有尝试从源代码安装 - 因为我需要开发工具才能这样做。
根据错误消息,命令 mv 无权将已安装的软件包从其临时安装目录移动到我的软件包库中的最终位置(但安装实用程序在创建目录或写入文件时没有问题)。任何人都知道为什么仅用这个单一的包就会发生这种情况?我很困惑。
> install.packages('ps')
Installing package into ‘/usr/lib/R/library’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/ps_1.3.0.tar.gz'
Content type 'application/x-gzip' length 261887 bytes (255 KB)
==================================================
downloaded 255 KB
* installing *source* package ‘ps’ ...
** package ‘ps’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
gcc -std=gnu99 -g -O2 -fdebug-prefix-map=/build/r-base-VjHo9C/r-base-3.6.0=. - fstack-protector-strong -Wformat -Werror=format-security -Wdate-time - D_FORTIFY_SOURCE=2 -g -Wall px.c -o px
一堆我不懂的其他代码
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o ps.so init.o api-common.o common.o extra.o dummy.o posix.o api-posix.o linux.o api-linux.o -L/usr/lib/R/lib -lR
installing via 'install.libs.R' to /usr/lib/R/library/00LOCK-ps/00new/ps
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
mv: cannot move '/usr/lib/R/library/00LOCK-ps/00new/ps' to
'/usr/lib/R/library/ps': Permission denied
ERROR: moving to final location failed
The downloaded source packages are in
‘/tmp/Rtmpm7SpMt/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("ps") :
installation of package ‘ps’ had non-zero exit status
在安装
ps
之前进行设置已在 Windows 10 Pro 上的 WSL ubuntu 18.04.2 LTS 和 R 3.6.0 中解决。可能对您的情况有帮助。
Sys.setenv(R_INSTALL_STAGED = FALSE)
https://developer.r-project.org/Blog/public/2019/02/14/staged-install/
尝试以超级用户身份从终端安装
sudo su - -c "R -e \"install.packages('ps', repos='http://cran.rstudio.com/')\""
如果有效,那么您必须检查库文件夹的权限。
尝试使用
pak()
安装;这将下载开发版本。您需要安装pak
库
pak::pak("r-lib/ps")
这对我有用