问题描述
npm 的全局安装目录在我机器的 /usr/local/lib/node_modules/ 目录。我手动删除了该目录下的 hexo-cli ,通过执行 yarn global add hexo-cli 后期望能重新安装 hexo-cli,但却没有如愿,终端执行 hexo 时:
|
|
探究
实际上执行 yarn global add hexo-cli 时至少发生了以下几件事,也许还有其它但我还不知道:
- 首先 hexo-cli 安装到了
/Users/liurtao/.config/yarn/global/node_modules/目录下,而不是/usr/local/lib/node_modules/目录; - 另外在
/usr/local/Cellar/node/7.4.0/bin/目录里创建了指向/Users/[username]/.config/yarn/global/node_modules/hexo-cli/bin/hexo的链接;
问题找到了,我机器的 PATH 路径并不包含 /usr/local/Cellar/node/7.4.0/bin/ 也不包含 /Users/[username]/.config/yarn/global/node_modules/hexo-cli/bin/,所以在终端输入 hexo 时无法找到。
解决办法
根据官方文档 关于 yarn global 的描述 可知,可以通过 --prefix 参数指定链接创建的目标路径。
|
|
执行上述代码后,我们会发现在 /usr/local/bin/ 目录里创建了指向 /Users/[username]/.config/yarn/global/node_modules/hexo-cli/bin/hexo 的链接;
此时,再从终端执行 hexo:
|
|
Done!
