我在unix os,ubuntu上,我在安装全局模块时遇到了问题。
当我试图查找node_modules文件夹的位置时,我发现npm安装了一些我的全局模块
/usr/lib/node_modules
其中一些安装在
中/usr/local/lib/node_modules
在使用这个全局模块之前我没有问题,直到我尝试安装一个生成器,这是我第一次想到查看目录,因为在安装生成器后,它说我还没有安装发生器。
奇怪的是,当我尝试了一些模块时,除了其他模块外,它们的工作完全正常,说它没有安装。
有没有办法从nodejs(包括其模块)卸载/删除/清理我的计算机并重新安装它以便它只使用一个目录,因此不会有任何混淆。
为什么你认为npm在两个差异中安装了这个东西。目录。
答案 0 :(得分:3)
在我看来,你已经安装了2个不同版本的nodejs。可能是打包版本,然后是新版本?
它的工作原理是因为您的节点文件夹可能设置为/ usr / local / lib / node_modules 在查找模块时,节点始终遍历文件夹树,因此,如果您执行require('imNotHere'),它将查找:
/usr/local/lib/node_modules/imNotHere
/usr/local/node_modules/imNotHere
/usr/node_modules/imNotHere
/node_modules/imNotHere
失败之前在您的设置模块中,/ usr / lib / node_modules仍将被此
捕获