使用blogdown创建网站时遇dir.exists(x)无效文件名参数错误求助
问题
首次尝试使用blogdown创建网站,运行以下代码:
setwd("..to-my-empty-website-directory..") library(blogdown) new_site(theme="yihui/hugo-xmin", dir=".")
出现如下错误:
> new_site(theme="yihui/hugo-xmin", dir=".") ― Creating your new site | Installing the theme yihui/hugo-xmin from github.com trying URL 'https://github.com/yihui/hugo-xmin/archive/HEAD.tar.gz' downloaded 68 KB Error in dir.exists(x) : invalid filename argument
已安装最新版本的Hugo v0.103.0和RStudio 2022.07.1 Build 554,所有R包均已更新,会话信息如下:
> sessionInfo() R version 4.2.1 (2022-06-23) Platform: x86_64-apple-darwin17.0 (64-bit) Running under: macOS Big Sur 11.7 Matrix products: default LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] blogdown_1.12.1 loaded via a namespace (and not attached): [1] compiler_4.2.1 tools_4.2.1 yaml_2.3.5 knitr_1.40 xfun_0.33
解决方案
这个错误通常和以下几个因素相关,按顺序排查:
目标目录路径问题:
你代码里的setwd("..to-my-empty-website-directory..")是占位符,必须替换成本地实际空目录的绝对路径,比如setwd("/Users/你的用户名/Documents/my-new-blog")。注意路径里不能包含中文、空格或特殊符号,如果有空格需要用转义符\或者用引号包裹完整路径。
更稳妥的方式是直接跳过setwd,在new_site中指定完整的dir参数,例如:new_site(theme="yihui/hugo-xmin", dir="/Users/你的用户名/Documents/my-new-blog")目录权限问题:
检查目标目录是否有读写权限,macOS下如果目录位于系统保护区域(如根目录、/Library),会导致权限不足。建议将网站目录放在用户个人文件夹下(比如Documents、Desktop)。版本兼容性问题:
虽然你安装了最新版Hugo,但部分blogdown版本可能与最新Hugo存在适配问题。可以尝试降级Hugo到稳定版本(比如v0.102.0),执行命令:blogdown::install_hugo(version = "0.102.0")临时文件损坏问题:
下载的主题压缩包可能损坏,先清理临时文件再重新尝试:blogdown::clean_site()清理后再次运行
new_site命令。
内容的提问来源于stack exchange,提问作者Nilotpal
相关产品推荐
相关产品推荐

