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