我的所有npm包都可以使用,但是我的npm包列表显示为空。我确信这是一个路径的问题,但不知道如何解决它。
哪个gulp给了我>
[~] ruby-2.2.3 $ which gulp
/usr/local/bin/gulp
哪个npm给了我>
[~] ruby-2.2.3 $ which npm
/usr/local/bin/npm
npm list给了我>
[~] ruby-2.2.3 $ npm list
/Users/kimmo
└── (empty)
答案 0 :(得分:2)
看起来您将使用本地安装的软件包混淆。 gulp
和npm
的路径看起来像全局安装位置。您在本地安装的软件包将位于项目根目录下的node_modules
文件夹下。
您可以通过比较以下结果来确认:
npm ls -g --depth=0
npm ls --depth=0
第一个命令将显示全局安装的软件包。第二个将显示本地包。
在结果输出的顶部,每个都显示全局或本地安装所在的目录。
最后,--depth=0
标志仅显示所需的包,而不显示这些包的依赖关系(以及这些包等)。我发现大多数时候,这就是我所关心的。如果您同意,可以使用npm config set depth 0
或通过编辑主目录中的.npmrc
文件轻松将其设为默认值。
原来如此!我的猜测是你用-g
标志安装了gulp,但你没有在本地安装任何东西(没有标志,可以这么说)。这就是为什么which
显示的内容和npm ls
显示的内容之间存在差异。