我一直在编写很多代码供我个人使用,最后我意识到我应该把这一切都包含在一个包中,我可以加载而不是每次复制和粘贴它。 / p>
我按照以下教程创建了一个基本包。
https://hilaryparker.com/2014/04/29/writing-an-r-package-from-scratch/
据我所知,一切都与实际的创作元素相吻合。以下是结果的屏幕截图:
猫文件夹:
/ cats / R文件夹
/ cats / man文件夹
当我想要运行该行时,问题出现了:
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'
答案 0 :(得分:1)
问题是我名字中的特殊字符,á。当我将它放在C:\目录中并运行R CMD build cats
和R 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并输入
非常重要