请教:使用homebrew安装node中遇到的问题
发布于 9 年前 作者 megadron 9954 次浏览 最后一次编辑是 8 年前 来自 问答

我之前使用homebrew 安装过node,应该是在去年吧 然后使用npm 安装了hexo,路径是在 /usr/local/lib/node_modules/hexo-cli

前不久更新了osx,发现node有点问题,就用homebrew重新安装了 然后今天使用hexo的时候发现也有问题了,于是乎想重新安装hexo 但是问题来了,无法卸载旧版本的hexo : $ sudo npm uninstall hexo-cli -g 提示 /usr/local/Caller/node/{version}/lib/node_modules 下找不到 hexo-cli 当然找不到了,因为我之前是安装在 /usr/local/lib/node_modules 下的

然后我尝试安装 hexo: $ sudo npm install hexo-cli -g 可以安装成功,但是安装路径是 /usr/local/Caller/node/{version}/lib/node_modules 我尝试使用hexo 的一些命令,发现还是报之前的错误,也就是说可能还是执行了旧版本的hexo

我想造成此问题的原因可能是homebrew 更改了node 的安装路径 卸载掉使用homebrew 安装的node 来使用pkg 安装或许能解决此问题 但是我并不想这么做,因为我已经习惯了用homebrew 来管理这些工具 请教:我该如何优雅地解决这个问题?

希望各位给一些好的意见,非常感谢。

18 回复

用nvm或n去装

直接下.pkg啊,打包得已经很好了,省去不必要的麻烦。

https://nodejs.org/en/

@i5ting 非常感谢你的回复,目前习惯了用homebrew,所有没有想过换其它的方式来安装。

@flamingtop 非常感谢你的回复,我尝试了下使用pkg 来安装,确实能解决此问题,但我更喜欢用homebrew来解决问题。

@flamingtop homebrew 用了两年了,习惯了。

node相关的工具之类的能用node生态链解决就用node生态链,homebrew是装系统开发工具的,比如nginx,mysql,mongodb你可以用homebrew装

@megadron 不是不推荐你用brew,但有一个问题,node是版本帝。。。伤不起的

首先用which命令查看你的老版本的hexo安装位置,以我的为例: which hexo -> /usr/local/bin/hexo 删除软链 rm /usr/local/bin/hexo 如果想删除源文件的话就

-> ll /usr/local/bin/hexo
-> lrwxr-xr-x  1 xxx  xxx    37B  1 14 17:07 /usr/local/bin/hexo -> ../lib/node_modules/hexo-cli/bin/hexo

找到源文件 /usr/local/lib/node_modules/hexo-cli文件夹删掉,再重新安装hexo即可

另homebrew也可以管理node版本的 如果你的/usr/local/Caller/node/文件夹下有多个node版本的话可以使用 brew switch node 版本号切换版本,如果你安装的node不在一个文件夹下的话,可以先brew unlink node4-lts删除老版本的node软链,再用brew link node5就可以切换到新版本 这里的node4-lts、node5都是homebrew中node的formula name,可以使用brew search node查看可用node formula

@i5ting 之前也挺好的,就最近一次更新才出问题。

@artisan 暂时先用pkg安装了,问题已解决。谢谢。

@FoghostCn 你好,感谢你的回复。 homebrew 切换版本这个我清楚,目前我的电脑中就装了一个版本的node。 问题是使用homebrew 安装了新版本的node 后,node_modules 全局路径 由 /usr/local/lib/node_modules 变更到了 /usr/local/Caller/node/{version}/lib/node_modules 我使用 $ npm uninstall hexo-cli -g 命令 只在变更后的路径里查找 hexo-cli 包 但是我使用 $ hexo s 命令又调用了变更前的路径中的 hexo 目前我暂时将homebrew 安装的node 删除了,然后使用pkg 安装了node 解决了这个问题。

这个问题就到此结束吧,非常感谢各位的回答。

我都是下载bin自己link的

把环境变量改到Caller下面就好了,把原来的node path删了

来自酷炫的 CNodeMD

我也遇到过homebrew安装的node在webpack报错,结论就是,卸载node然后实用nvm 自豪地采用 CNodeJS ionic

homebrew 装 node 以及使用 npm 的时候不一定需要 sudo ,把 sudo 的删除掉,用非 sudo 的方式装一次。推荐 node4-lts 然后再 npm i -g npm 更新下 npm 。个人的经验是 node4-lts 会稳定些,5/6 我经常遇到内存占用和cpu占用过高的问题。

直接删了homebrew的,然后用nvm 包治百病 From Noder

回到顶部