为什么`npm list -g –depth = 0`中缺less模块?

我在全球范围内安装了饮水机。

出于某种原因,他们都没有出现在npm list

我是否以错误的方式去解决这个问题? 我错过了什么?

 nathanbrauer@macthan:~$ npm list -g --depth=0 /usr/lib ├── colorguard@1.0.1 ├── contributors@0.5.0 ├── git-contributors@0.2.3 ├── js-beautify@1.5.10 ├── jslint@0.9.6 └── npm@2.14.12 nathanbrauer@macthan:~$ npm list -g | grep bower nathanbrauer@macthan:~$ bower -v 1.7.2 nathanbrauer@macthan:~$ which bower /usr/local/bin/bower nathanbrauer@macthan:~$ ll `which bower` lrwxrwxrwx 1 root root 35 Jan 6 12:05 /usr/local/bin/bower -> ../lib/node_modules/bower/bin/bower* nathanbrauer@macthan:~$ ll /usr/local/lib/node_modules/ total 20 drwxr-xr-x 5 nobody nathanbrauer 4096 Jan 6 16:12 ./ drwxr-xr-x 6 root root 4096 Jan 6 11:41 ../ drwxr-xr-x 6 nobody nathanbrauer 4096 Jan 6 12:05 bower/ drwxr-xr-x 4 nobody nathanbrauer 4096 Jan 6 16:12 es6-promise/ drwxr-xr-x 6 nobody nathanbrauer 4096 Jan 6 11:41 gulp/ 

看起来像gulp和Bower这样的东西安装在/usr/lib而其余的文件在/usr/local/lib 。 这个答案表明,如果你的$PATH设置正确(你不是通过sudo安装的话),那么npm通常会通过符号链接安装到/usr/local/lib ,所以大概你在过去的某个时候改变了这个variables。

如果npm root不返回/usr/local/lib/node_modules那么使用npm config set prefix /usr/local来重置你的prefixvariables就可以了。

我只是删除你在/usr/libnode_modules ,并重新安装一旦你的prefix设置正确。