有人能告诉我在哪里可以找到我用npm安装的Node.js模块吗?
当前回答
对于全局安装的模块:
其他答案给出了特定于平台的回答,但一个通用的回答是:
当你用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 --depth 0
如果你安装了VisualStudio,你会发现它有自己的节点副本,与你自己安装节点时路径上的节点副本分开-我的在C:\Program Files (x86)\Microsoft VisualStudio\ 2019\Community\MSBuild\Microsoft\VisualStudio\NodeJs中。
如果你在这个目录中运行npm命令,你会发现visual studio中安装了哪些节点模块。
从文档中可以看出:
包被放到前缀下的node_modules文件夹中。 在本地安装时,这意味着您可以 Require ("packagename")加载它的主模块,或者 Require ("packagename/lib/path/to/sub/module")加载其他模块。 Unix系统的全局安装路径为{prefix}/lib/node_modules。 Windows上的全局安装到{prefix}/node_modules(即no lib文件夹)。 作用域包以相同的方式安装,只是它们是分组的 一起放在相关node_modules文件夹的子文件夹中 用@符号表示作用域前缀的名称,例如NPM install @myorg/package将把包放在 {前缀}/ node_modules / @myorg包。参见范围了解更多细节。 如果您希望需要()一个包,那么在本地安装它。
你可以通过npm config get prefix获取{prefix}。(当你用nvm安装node时有用)。
在当地阅读。 全球阅读。
回显config: npm config ls或npm config列表 显示所有的配置设置:npm config ls -l或npm config ls——json 打印有效的node_modules文件夹:npm root或npm root -g 打印本地前缀:npm prefix或npm prefix -g (这是最接近包含包的父目录。Json文件或node_modules目录)
npm-config | npm文档 npm-root | npm文档 npm-prefix | npm文档
Windows 10:当我运行npm prefix -g时,我注意到安装位置在我用来安装的git shell路径内。即使将该位置添加到路径中,来自全局安装包的命令也不会被识别。固定:
运行NPM配置编辑 将前缀改为“C:\Users\username\AppData\Roaming\npm” 将该路径添加到系统路径变量中 使用-g重新安装包。