如何更改npm路径

如何更改npm路径,npm,Npm,我的所有npm包都可以工作,但我的npm包列表显示为空。我确信这是一个路径问题,但不确定如何修复它 哪一口给了我> [~] ruby-2.2.3 $ which gulp /usr/local/bin/gulp 哪个npm给了我> [~] ruby-2.2.3 $ which npm /usr/local/bin/npm [~] ruby-2.2.3 $ npm list /Users/kimmo └── (empty) npm列表给了我> [~] ruby-2.2.3 $ which n

我的所有npm包都可以工作,但我的npm包列表显示为空。我确信这是一个路径问题,但不确定如何修复它

哪一口给了我>

[~] ruby-2.2.3 $ which gulp
/usr/local/bin/gulp
哪个npm给了我>

[~] ruby-2.2.3 $ which npm
/usr/local/bin/npm
[~] ruby-2.2.3 $ npm list
/Users/kimmo
└── (empty)
npm列表给了我>

[~] ruby-2.2.3 $ which npm
/usr/local/bin/npm
[~] ruby-2.2.3 $ npm list
/Users/kimmo
└── (empty)

看起来您混淆了全局安装的软件包和本地安装的软件包。
gulp
npm
的路径类似于全局安装位置。您在本地安装的软件包将位于项目根目录中的
节点\u modules
文件夹下

您可以通过比较以下结果来确认这一点:

  • npm ls-g——深度=0
  • npm ls——深度=0
第一个命令将显示全局安装的软件包。第二个将显示本地包

在结果输出的顶部,每个显示了全局或本地安装所在的目录

最后,
--depth=0
标志仅显示所需的包,而不显示这些包(以及这些包等)的依赖关系。我发现大多数时候,这就是我所关心的。如果您同意,您可以使用
npm config set depth 0
或编辑主目录中的
.npmrc
文件轻松将其设置为默认值


所以!我的猜测是,您安装了带有
-g
标志的gulp,但您没有在本地安装任何东西(可以说,没有标志)。这就是为什么显示的
与显示的
npm ls
之间存在差异。

谢谢Mathew!经过测试,你是正确的!