问题描述
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!