有人能告诉我在哪里可以找到我用npm安装的Node.js模块吗?
当前回答
顺便说一句,如果在local文件夹中找不到node_modules, npm将在父文件夹(直到非常根)中寻找。
其他回答
全球图书馆
你可以运行npm list -g来查看安装了哪些全局库以及它们的位置。使用npm list -g | head -1来截断输出,只显示路径。如果你想只显示主包,而不是随它安装的子包,你可以使用- npm list——depth=0,它将显示所有的包,如果只获得全局安装的包,只需添加-g,即npm list -g——depth=0。
在Unix系统上,当全局安装时,它们通常放在/usr/local/lib/node或/usr/local/lib/node_modules中。如果将环境变量“NODE_PATH”设置为该路径,则可以按节点查找模块。
Windows XP - %USERPROFILE%\AppData\npm\node_modules Windows 7,8和10 %USERPROFILE%\AppData\Roaming\npm\node_modules
非全局库
非全局库安装在当前所在文件夹的node_modules子文件夹中。
你可以运行npm list来查看当前位置已安装的非全局库。
安装时使用-g选项进行全局安装
NPM install -g pm2 - pm2将全局安装。然后通常会在/usr/local/lib/node_modules中找到它(使用npm root -g检查位置)。
NPM install pm2 - pm2将在本地安装。然后通常会在/node_modules的本地目录中找到它
不是直接的回答,但可能会有帮助....
npm也有一个缓存文件夹,可以通过运行npm config get cache (%AppData%/npm-cache)找到。
npm模块首先在这里下载,然后复制到npm全局文件夹(%AppData%/Roaming/npm在Windows上)或项目特定的文件夹(your-project/node_modules)。
因此,如果你想跟踪npm包,以及以某种方式,所有下载的npm包的列表(如果npm缓存没有被清理)可以看看这个文件夹。文件夹结构为{cache}/{name}/{version}
这可能也有帮助https://docs.npmjs.com/cli/cache
适用于Windows 7、8和10 - % USERPROFILE % \ AppData \ \ npm \ node_modules徘徊
注意:
如果你在文件夹cd ..直到进入C:目录。然后输入cd %USERPROFILE%\AppData\Roaming\npm\node_modules。然后,神奇的是,%USERPROFILE%将变成Users\YourUserProfile\。
我只是想澄清Decko在第一次回复中提到的想法。NPM list -g将列出你已全局安装的所有位。如果你需要找到你的项目相关的npm包,那么cd 'your angular project xyz',然后运行npm list。它将显示npm包中的模块列表。它还将为您提供缺失的依赖项列表,您可能需要有效地运行该项目。
您可以通过该命令找到全局安装的模块
npm list -g
它将为您提供node.js模块已安装的位置。
C:\Users\[Username]\AppData\Roaming\npm
如果您将node.js模块安装在本地文件夹中,您可以键入以下命令来查看位置。
npm list
我在寻找真正的配置时开始发狂,所以这里是linux上所有配置文件的列表:
/etc/npmrc /home/youruser/.npmrc /root/.npmrc 。/。NPMRC在当前目录下的包旁边。json文件(感谢@CyrillePontvieux)
在windows上:
c/Program\ Files/nodejs/node_modules/npm/npmrc
然后在这个文件中配置前缀:
prefix=/usr
该前缀在linux中默认为/usr,在windows中默认为${APPDATA}\npm
节点模块在$prefix树下,路径中需要包含$prefix/bin
可能有一个问题:
在全局安装时,首先使用“sudo su”,然后使用/root/。可以使用NPMRC ! 当您在本地使用而不使用sudo时:对于您的用户,它是/home/youruser/.npmrc. 当路径不代表前缀时 当你使用npm set -g prefix /usr时,它会设置/etc/npmrc全局,但不会覆盖本地
这里是所有缺失的信息,以查找在哪里配置了什么。希望我讲得够详尽了。