hexojs / hexojs/hexo

Failed to Generate using Symbolic Link Directories as Assets

Open
#5,659 9 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
41.8k
Forks
41
PR merge metrics
No merged PRs in 30d

Description

### Check List

- [x] I have already read [Docs page](https://hexo.io/docs/) & [Troubleshooting page](https://hexo.io/docs/troubleshooting).
- [x] I have already searched existing issues and they are not help to me.
- [x] I examined error or warning messages and it's difficult to solve.
- [x] I am using the [latest](https://github.com/hexojs/hexo/releases) version of Hexo. (run `hexo version` to check)
- [x] My Node.js is matched [the required version](https://hexo.io/docs/#Required-Node-js-version).

### Expected behavior

To generate correctly with a **symbolic link directory** as an asset in the post asset folder.

### Actual behavior

Generated, but after `INFO Files loaded in *.**s`, there is an error `Error: EISDIR: illegal operation on a directory, read`. And the symbolic link directory did not appear in `/public`.

### How to reproduce?

1. Set `post_asset_folder` to `true`.
2. Create a symbolic link or a junction using Windows cmd, like `mklink /D "path\to\source\_post\my_post\asset_link" "path\to\asset\in\somewhere\else"`.
3. Run `hexo clean && hexo g`.

### Is the problem still there under `Safe mode`?

Yes

### Your Node.js & npm version

```text
node v23.4.0
npm 10.9.2
```

### Your Hexo and Plugin version

```text
hexo-site@0.0.0
├── hexo-deployer-git@4.0.0
├── hexo-footnotes@1.0.2
├── hexo-generator-archive@2.0.0
├── hexo-generator-category@2.0.0
├── hexo-generator-index@4.0.0
├── hexo-generator-tag@2.0.0
├── hexo-hide-posts@0.4.3
├── hexo-renderer-ejs@2.0.0
├── hexo-renderer-markdown-it-plus@1.0.6
├── hexo-renderer-stylus@3.0.1
├── hexo-server@3.0.0
├── hexo-theme-landscape@1.0.0
├── hexo-theme-next@8.21.1
└── hexo@7.3.0
```

### Your `package.json`

```json
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo deploy",
"server": "hexo server"
},
"hexo": {
"version": "7.3.0"
},
"dependencies": {
"hexo": "^7.3.0",
"hexo-deployer-git": "^4.0.0",
"hexo-footnotes": "^1.0.2",
"hexo-generator-archive": "^2.0.0",
"hexo-generator-category": "^2.0.0",
"hexo-generator-index": "^4.0.0",
"hexo-generator-tag": "^2.0.0",
"hexo-hide-posts": "^0.4.3",
"hexo-renderer-ejs": "^2.0.0",
"hexo-renderer-markdown-it-plus": "^1.0.6",
"hexo-renderer-stylus": "^3.0.1",
"hexo-server": "^3.0.0",
"hexo-theme-landscape": "^1.0.0",
"hexo-theme-next": "^8.21.1"
}
}
```

### Your site's `_config.yml` (Optional)

```yaml
permalink: :title/
post_asset_folder: true
theme: next
```

### Others

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.