WTF 不知道为啥升级Node导致了npm用不了了
悲剧的起源还是来自于最近折腾的Hexo
hexo-wordcount
悲剧的开始是之前在安装hexo-wordcount
的时候一直给我说Error: Unable to call 'wordcount', which is undefined or falsey
就以为是这个插件安装的时候的问题,在反复安装 卸载 安装 卸载
*n
难道是nunjucks转义出问题了?
非法字符又去修改nunjucks
中的转义文件src/lib.js
完全是在乱弄。
难道是npm出问题了?
结果还是不行索性重装了npm
1 | curl -0 -L http://npmjs.org/install.sh | sudo sh |
欲哭无泪的感觉一样还是不行,现在到好了npm -v
都不行了。可是尼玛明明node全家桶已经安装好了啊。
于是which npm
查看尼玛 npm木有了。
现在才想起来Node全家桶是拿Brew
装的哦
如果我再手动安装肯定会有冲突我这不是在脑残是什么.
难道是Node版本不匹配?
那么就reinstall node 到最新版
吧很简单
1 | > node -v |
肯定没问题撒,老司机出马安个软件还会有问题吗?结果悲剧又发生了…
安装完之后告诉我说需要brew postinstall node
WHT
Permission denied @ rb_sysopen - /usr/local/lib/node_modules/npm/.npmignore
/usr/local/lib/node_modules
1 | drwxr-xr-x 9 codewalkertes admin 288B Nov 23 2017 cnpm |
看吧自己种下的恶果还是要自己吃下去才行。都是因为之前sudo安装造成的。不怕生命还是在于折腾把虽然这都三十好几了.
1 | sudo chown -R codewalkertes npm |
Voilà
1 | > npm -v |
总结
遇到问题了还是要想办法debug
, 这次主要原因还是因为手动安装和Brew安装起了冲突所致。
总结嘛吃一堑长一智,不过有时候真是也因为记性的原因或者现代软件包管理的原因太过于复杂了。