有人能告诉我在哪里可以找到我用npm安装的Node.js模块吗?
当前回答
Windows 10:当我运行npm prefix -g时,我注意到安装位置在我用来安装的git shell路径内。即使将该位置添加到路径中,来自全局安装包的命令也不会被识别。固定:
运行NPM配置编辑 将前缀改为“C:\Users\username\AppData\Roaming\npm” 将该路径添加到系统路径变量中 使用-g重新安装包。
其他回答
在windows上,我使用npm list -g来查找它。默认情况下,我的(全局)包被安装到C:\Users\[Username]\AppData\Roaming\npm。
在早期的NPM版本中,模块总是放在/usr/local/lib/node或者你在.npmrc文件中指定NPM根目录的任何地方。然而,在NPM 1.0+中,模块被安装在两个地方。您可以在/中将模块安装到应用程序的本地。Node_modules或者你可以全局安装它们,这将使用上面的。
更多信息请访问https://github.com/isaacs/npm/blob/master/doc/install.md
对于全局安装的模块:
其他答案给出了特定于平台的回答,但一个通用的回答是:
当你用npm install -g something安装全局模块时,npm会查找一个配置变量前缀来知道该在哪里安装模块。
你可以通过运行npm config get prefix来获取这个值
要显示该文件夹中所有可用的全局模块,请使用npm ls -g——depth 0 (depth 0表示不显示它们的依赖项)。
如果你想改变全局模块的路径,使用npm config edit并在文件中添加prefix = /my/npm/global/modules/prefix或使用npm config set prefix /my/npm/global/modules/prefix。
当你使用一些像nodist这样的工具时,它们会改变全局npm模块的平台默认安装路径。
正如其他答案所说,最好的办法就是去做
npm list -g
然而,如果你安装了大量的npm包,这个命令的输出可能会很长,而且要向上滚动很痛苦(有时甚至不可能滚动那么远)。
在这种情况下,将输出输送到more程序,如下所示
npm list -g | more
命令npm root会告诉你npm包的有效安装目录。
如果你当前的工作目录是一个节点包或者是一个节点包的子目录,npm root会告诉你本地安装目录。不管当前工作目录是什么,NPM root -g都会显示全局安装根目录。
例子:
$ npm root -g
/usr/local/lib/node_modules
请参见文档。