无法安装我创建的包

时间:2017-03-08 18:11:09

标签: r package install devtools

我一直在编写很多代码供我个人使用,最后我意识到我应该把这一切都包含在一个包中,我可以加载而不是每次复制和粘贴它。 / p>

我按照以下教程创建了一个基本包。

https://hilaryparker.com/2014/04/29/writing-an-r-package-from-scratch/

据我所知,一切都与实际的创作元素相吻合。以下是结果的屏幕截图:

猫文件夹:

1

/ cats / R文件夹

2

/ cats / man文件夹

3

当我想要运行该行时,问题出现了:

install("cats")

当我尝试这样做时,我收到以下错误:

Installing cats
"C:/PROGRA~1/R/R-33~1.1/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL "/Documents/cats" --library="C:/Users/Aodhán/Documents/R/win-library/3.3" --install-tests 

 * installing *source* package 'cats' ...

 Warning in file(file, if (append) "a" else "w") :

  cannot open file 'C:/Users/Aodhán/Documents/R/win-library/3.3/cats/DESCRIPTION': No such file or directory

 Error in file(file, if (append) "a" else "w") : 

 cannot open the connection

 ERROR: installing package DESCRIPTION failed for package 'cats'

 * removing 'C:/Users/Aodhán/Documents/R/win-library/3.3/cats'

 Error: Command failed (1)

这个错误发生在我自己的包中,但如果我运行命令也会发生:

devtools::install_github("klutometis/roxygen")

任何建议都将受到赞赏。

编辑:可能是我的用户名中包含了字符á吗?

编辑2:描述文件是:

  

包装:猫

     

标题:包的内容(一行,标题大小写)

     

版本:0.0.0.9000

     

作者@ R:person(“First”,“Last”,email =“first.last@example.com”,   role = c(“aut”,“cre”))

     

维护者:AodhánO'Leary

     

作者:AodhánO'Leary[aut,cre]

     

描述:包的作用(一个段落)。

     

取决于:R(> = 3.3.1)

     

许可证:它有什么许可证?

     

编码:UTF-8

     

LazyData:true

     

RoxygenNote:6.0.1

Sys.getenv("R_HOME")返回“C:/PROGRA~1/R/R-33~1.1”

Sys.getenv("R_LIBS_USER")返回“C:\ Users \Aodhán\ Documents / R / win-library / 3.3”

Sys.getenv("R_HOME")返回“C:\ Users \Aodhán\ Documents”

devtools::build("cats")创建“cats_0.0.0.9000.tar.gz”

install.packages("../cats_version.tar.gz")会返回与上面相同的错误

注意:这是在Win10机器上,使用R 3.3.1,我很抱歉没有提到顶部。我昨天写这篇文章时感到很累。

编辑3:以下是使用以下命令的结果:R CMD build cats后跟R CMD check cats

00check:

  
      
  • 使用日志目录'C:/Users/Aodhán/Documents/cats.Rcheck'
  •   
  • 使用R版本3.3.1(2016-06-21)
  •   
  • 使用平台:x86_64-w64-mingw32(64位)
  •   
  • 使用会话charset:ISO8859-1
  •   
  • 检查文件'cats / DESCRIPTION'...确定
  •   
  • 这是包'猫'版'0.0.0.9000'
  •   
  • 包编码:UTF-8
  •   
  • 检查包名称空间信息......确定
  •   
  • 检查包依赖关系......确定
  •   
  • 检查这是否是源包...确定
  •   
  • 检查是否有命名空间......确定
  •   
  • 检查.dll和.exe文件......确定
  •   
  • 检查隐藏文件和目录...注意找到以下隐藏文件和目录:.gitignore这些是最多的   可能包含在错误中。请参阅中的“包结构”部分   'Writing R Extensions'手册。
  •   
  • 检查便携式文件名...确定
  •   
  • 检查是否可以安装软件包'cats'...错误安装失败。看到   'C:/Users/Aodhán/Documents/cats.Rcheck/00install.out'了解详情。
  •   
  • DONE
  •   
     

状态:1个错误,1个注意

00install.out

  
      
  • 安装包“猫”......
  •   
     

文件中的警告(文件,if(append)“a”else“w”):         无法打开文件'C:/Users/Aodhan/Documents/cats.Rcheck/cats/DESCRIPTION':

     

没有这样的文件或目录

     

文件错误(文件,if(append)“a”else“w”):         无法打开连接

     

错误:对包'猫'

安装包描述失败      
      
  • 删除'C:/Users/Aodhán/Documents/cats.Rcheck/cats'
  •   

3 个答案:

答案 0 :(得分:1)

问题是我名字中的特殊字符,á。当我将它放在C:\目录中并运行R CMD build catsR CMD check cats时,它传递了该错误(虽然以后在pdf中出现错误 - 我会看看我是否可以自行解决)

我会尝试发布此错误。中度烦人。应该早点考虑那个测试。

答案 1 :(得分:1)

我最近在两台不同的计算机上遇到了这个问题(R版本3.5.2)。我现在没有完整的确切错误消息,但其中包含以下两个摘要:

Error in writeLines(paste0(c(out[is_not_empty]), eor), file, useBytes = useBytes) :
(converted from warning) invalid char string in output conversion

ERROR: installing package DESCRIPTION failed for package

我相信问题是我的.Rprofile文件中存在特殊字符。我一直想摆脱那个文件(为了可重复性),这样做可以解决问题。

要在R中执行此操作,下面的代码将(1)复制您的.Rprofile并将其保存为.Rprofile-old(以防您以后使用/恢复) ),然后(2)删除您的.Rprofile

## copy backup of .Rprofile
file.copy("~/.Rprofile", "~/.Rprofile-old")

## delete .Rprofile
unlink("~/.Rprofile")

运行完上面的代码后,重新启动R,此问题将[希望]得到解决!

答案 2 :(得分:0)

安装源包.. 指定repo并输入

非常重要
  • 将包转换为package_name.tar.gz
  • 双击.Rproj文件进入项目环境 你的项目并点击构建 - >构建源包以构建tar.gz文件
  • install.packages(" full_path / package_name.tar.gz",repo = NULL,type = "源&#34)