Skip to content

安装包时遇到的报错,要如何解决 #32

@Duiduipeng

Description

@Duiduipeng

老师,不好意思,我碰到两个问题:
①安装的时候,这是我按照截图操作的进行安装,但是就是出现了报错

install.packages("D:/packages/TCGAplot_8.0.0.zip", repos = NULL, type = "win.binary")
程序包‘TCGAplot’打开成功,MD5和检查也通过
错误于file(con, "r"): 无法打开链结
此外: 警告信息:
1: In packageDescription(pkgName, lib.loc = dirname(pkgPath)) :
找不到'TCGAplot_8.0.0.zip'这样一个程序包
2: In file(con, "r") :
无法打开文件'D:/packages/TCGAplot_8.0.0.zip/DESCRIPTION': No such file or directory

不知道怎么要怎么处理

②根据AI给的建议,我用以下代码,安装了包

if ("TCGAplot" %in% loadedNamespaces()) {

  • detach("package:TCGAplot", unload = TRUE, character.only = TRUE)
    
  • }

zip_path <- "D:/packages/TCGAplot_8.0.0.zip"
file.exists(zip_path)
[1] TRUE
unzip(zip_path, list = TRUE)[1:5, ] # 能列出 DESCRIPTION 说明包结构正常
Name Length Date
1 TCGAplot/ 0 2024-10-17 21:38:00
2 TCGAplot/CITATION 757 2024-10-17 21:36:00
3 TCGAplot/data/ 0 2024-10-17 21:36:00
4 TCGAplot/data/promoter_probe.rda 226111 2024-10-17 21:36:00
5 TCGAplot/data/pro_methy.rda 188724690 2024-10-17 21:36:00

=== 0) 参数:你的 zip 路径 ===

zip_path <- "D:/packages/TCGAplot_8.0.0.zip" # 改成你的实际路径

=== 1) 若已加载,先卸载,避免“正在使用因此不会被安装” ===

if ("TCGAplot" %in% loadedNamespaces()) {

  • try(detach("package:TCGAplot", unload = TRUE, character.only = TRUE), silent = TRUE)
    
  • }

可选:固定库目录

.libPaths("D:/R-4.5.1/library")

=== 2) 诊断 zip 结构 ===

stopifnot(file.exists(zip_path))
zi <- unzip(zip_path, list = TRUE)
has_desc <- any(grepl("^TCGAplot/DESCRIPTION$", zi$Name))
has_libs <- any(grepl("^TCGAplot/libs/(i386|x64)/", zi$Name))

cat("Has DESCRIPTION:", has_desc, "\n")
Has DESCRIPTION: TRUE
cat("Has compiled libs:", has_libs, "\n")
Has compiled libs: FALSE

=== 3) 安装 ===

if (has_libs) {

  • # 这是 Windows 二进制包
    
  • install.packages(zip_path, repos = NULL, type = "win.binary")
    
  • } else {
  • # 看起来是源码包(或未包含编译库),需要从解压目录安装
    
  • td <- tempfile("tcgaplot_"); dir.create(td, recursive = TRUE)
    
  • unzip(zip_path, exdir = td)
    
  • pkgdir <- file.path(td, "TCGAplot")
    
  • stopifnot(file.exists(file.path(pkgdir, "DESCRIPTION")))
    
  • # 如果这里报缺 Rtools,则说明需要先安装 Rtools 再重试
    
  • install.packages(pkgdir, repos = NULL, type = "source")
    
  • }
  • installing binary package 'TCGAplot' ...
    cp: unknown option -- )
    Try '/usr/bin/cp --help' for more information.
    ERROR: installing binary package failed
  • removing 'D:/R-4.5.1/library/TCGAplot'
  • restoring previous 'D:/R-4.5.1/library/TCGAplot'
    警告信息:
    In utils::install.packages(pkgdir, repos = NULL, type = "source") :
    安装程序包‘C:/Users/11503/AppData/Local/Temp/RtmpU7kPl3/tcgaplot_2928365f3ed9/TCGAplot’时退出狀態的值不是0

=== 4) 验证 ===

library(TCGAplot)
载入需要的程序包:ggpubr
载入需要的程序包:ggplot2
Registered S3 methods overwritten by 'fmsb':
method from
print.roc pROC
plot.roc pROC
packageVersion("TCGAplot")
[1] ‘0.99.0’

但是最后出现报错:
pan_boxplot("KLF7")
错误于pan_boxplot("KLF7"): 找不到对象'tpm'
想问一下老师,要怎么解决这个问题

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions