我在全局范围内安装了 gulp
和 bower
。
由于某种原因,它们都没有出现在 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
中。 This answer建议如果您的 $PATH
设置正确(并且您没有通过 sudo
安装),则 npm 通常会通过符号链接(symbolic link)安装到 /usr/local/lib
code>),所以想必您在过去的某个时候更改了该变量。
如果npm root
不返回/usr/local/lib/node_modules
,则使用npm config重置您的
应该可以解决问题。 prefix
变量设置前缀/usr/local
我只需删除 /usr/lib
中的 node_modules
,并在正确设置前缀
后重新安装。
关于node.js - 为什么 `npm list -g --depth=0` 中缺少模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34699611/