git bash运行hexo出错的问题

git bash 会报错 而 用cmd不会

1
2
3
4
5
6
7
8
9
10
11
module.js:472
throw err;
^
Error: Cannot find module 'C:\Program Files\Git\node_modules\.hexo-cli_npminstall\node_modules\.1.0.2@hexo-cli\bin\hexo'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:427:7)
at startup (bootstrap_node.js:151:9)
at bootstrap_node.js:542:3

开始以为是git bash 环境变量和系统不一致所以找不到文件,然而并不是。

问题在于运行的hexo脚本中 的basedir这个路径在 git bash中被指向了”C:\Program Files\Git\” (git bash的安装路径),而在自带的cmd中是正确的。

解决方法
创建目录联接 mklink /J “C:\Program Files\Git\node_modules” “C:\Users\<你的用户名>\AppData\Roaming\npm\node_modules”

0%