Skip to content

EISDIR Error errno: -21 in first generate with post_asset_folder: false option in _config.yml #4682

@molavec

Description

@molavec

Question

I have a this FATAL Error warn but it doesn't affect (apparently) to final result.

It's like hexo tries open directory that have the same name as file.

1.- Could be a Race condition?
2.- How could I verbose print to detect where and when happens this error?

$ hexo generate
INFO  Validating config
INFO  Start processing
Deprecated as of 10.7.0. highlight(lang, code, ...args) has been deprecated.
Deprecated as of 10.7.0. Please use highlight(code, options) instead.
https://github.com/highlightjs/highlight.js/issues/2277
INFO  Files loaded in 1.17 s
FATAL {
  err: [Error: EISDIR: illegal operation on a directory, open '/home/angel/git/molavec/molavec-website/public/life-frame'] {
    errno: -21,
    code: 'EISDIR',
    syscall: 'open',
    path: '/home/angel/git/molavec/molavec-website/public/life-frame'
  }
} Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html
INFO  Generated: fontello-icons/config.json
INFO  Generated: img/small_logo-dark.png
INFO  Generated: coolideas/politica_privacidad.html
INFO  Generated: prototypes/index.html
INFO  Generated: blog/index.html
INFO  Generated: img/1920x1080/small_01.jpg
INFO  Generated: img/397x300/small_01.jpg

I noted these behaivors:

  • it's happens when I have this post_asset_folder is true. Otherwise, error not appear.
    I believe this is the responsible
post_asset_folder: true
  • It solved after second build.
  • I used hexo generate -c 1 and I got same results but in different file.
  • This error not happen in hexo 4 version.

Environment & Settings

Node.js & npm version

node v14.16.0
npm 6.14.11
yarn 1.22.10

Your site _config.yml (Optional)

...
# URL
## If your site is put in a subdirectory, set url as 'https://yoursite.com/child' and root as '/child/'
url: https://molavec.com
root: /
permalink: :title/
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
  trailing_html: true # Set to false to remove trailing '.html' from permalinks

# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: blog
category_dir: categories
code_dir: assets/code
i18n_dir: :lang
skip_render: design

# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link:
  enable: true # Open external links in new tab
  field: site # Apply to the whole site
  exclude: ''
filename_case: 1
render_drafts: false
post_asset_folder: true
relative_link: false
future: false
highlight:
  enable: true
  line_number: true
  auto_detect: false
  tab_replace: '  '
  wrap: true
  hljs: false
prismjs:
  enable: false

# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
  path: ''
  per_page: 10
  order_by: -date
  pagination_dir: true

# Category & Tag
default_category: uncategorized
category_map:
tag_map:

# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## https://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss
## Use post's date for updated date unless set in front-matter
updated_option: false

# Pagination
## Set per_page to 0 to disable pagination
per_page: 5
pagination_dir: page

# Include / Exclude file(s)
## include:/exclude: options only apply to the 'source/' folder
include:
exclude:
ignore:

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: hexo-theme-aircv
theme_config:
## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
meta_generator: true

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: ''


# image resizing
responsive_images:
  priority: 10
  pattern: '**/*.+(png|jpg|jpeg)'
  sizes:
    small:
      width: 200
    thumb:
      width: 400
    medium:
      width: 800
...

Your theme _config.yml (Optional)

none

Hexo and Plugin version(npm ls --depth 0)

npm ls --depth 0
molavec-website@0.0.0 /home/angel/git/molavec/molavec-website
├── hexo@5.4.0
├── hexo-filter-responsive-images@1.7.0
├── hexo-generator-archive@1.0.0
├── hexo-generator-category@1.0.0
├── hexo-generator-index@2.0.0
├── hexo-generator-tag@1.0.0
├── hexo-renderer-ejs@1.0.0
├── hexo-renderer-marked@4.0.0
├── hexo-renderer-scss@1.2.0
├── hexo-server@2.0.0
├── imageinfo@1.0.4
└── js-yaml@4.0.0

Your package.json package.json

...
  "hexo": {
    "version": "5.4.0"
  },
  "devDependencies": {
    "hexo": "^5.4.0",
    "hexo-filter-responsive-images": "^1.5.0",
    "hexo-generator-archive": "^1.0.0",
    "hexo-generator-category": "^1.0.0",
    "hexo-generator-index": "^2.0.0",
    "hexo-generator-tag": "^1.0.0",
    "hexo-renderer-ejs": "^1.0.0",
    "hexo-renderer-marked": "^4.0.0",
    "hexo-renderer-scss": "^1.2.0",
    "hexo-server": "^2.0.0",
    "imageinfo": "^1.0.4",
    "js-yaml": "^4.0.0"
  }
...

Others

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions