有人能告诉我在哪里可以找到我使用#0安装的Node.js模块吗?
您可以运行npm list -g查看安装了哪些全局库以及它们的位置。使用npm list -g | head -1进行截断输出,仅显示路径。如果您只想显示主包而不是与其一起安装的子包-您可以使用-npm list --depth=0来显示所有包并仅获取全局安装的包,只需添加-g即npm list -g --depth=0。
npm list -g
npm list -g | head -1
npm list --depth=0
npm list -g --depth=0
在Unix系统上,当全局安装时,它们通常放置在/usr/local/lib/node或/usr/local/lib/node_modules中。如果您将NODE_PATH环境变量设置为此路径,则可以按节点找到模块。
/usr/local/lib/node
/usr/local/lib/node_modules
NODE_PATH
Windows XP-%USERPROFILE%\AppData\npm\node_modulesWindows 7,8和10-%USERPROFILE%\AppData\Roaming\npm\node_modules
%USERPROFILE%\AppData\npm\node_modules
%USERPROFILE%\AppData\Roaming\npm\node_modules
非全局库安装在您当前所在文件夹中的node_modules子文件夹中。
node_modules
您可以运行npm list以查看当前位置已安装的非全局库。
npm list
#0-pm2将全局安装。然后通常会在/usr/local/lib/node_modules中找到它(使用#2检查位置。)
#0-pm2将在本地安装。然后通常会在/node_modules的本地目录中找到它
/node_modules
在早期版本的NPM模块总是放置在 /usr/local/lib/node或. npmrc文件中指定npm根目录的任何地方。然而,在NPM 1.0+中,模块安装在两个地方。您可以将模块安装在应用程序的本地 /.node_modules,也可以将它们全局安装,这将使用上述内容。
更多信息可以在https://github.com/isaacs/npm/blob/master/doc/install.md找到
在windows上,我使用npm list -g来查找它。默认情况下,我的(全局)软件包被安装到C:\Users\[Username]\AppData\Roaming\npm。
C:\Users\[Username]\AppData\Roaming\npm
命令npm root将告诉您npm包的有效安装目录。
npm root
如果您当前的工作目录是节点包或节点包的子目录,npm root将告诉您本地安装目录。npm root -g将显示全局安装根目录,无论当前工作目录如何。
npm root -g
$ npm root -g/usr/local/lib/node_modules
请参阅留档。
最简单的方法就是
npm list-g#删除数据#删除数据
列出软件包并查看其安装位置。
我安装了npm通过霍洛拉蒂,所以位置是
C:\MyProgramData\chocolatey\lib\nodejs.commandline.0.10.31\工具\node_modules
C:\MyProgramData\是巧克力存储库位置。
其他答案为您提供特定于平台的响应,但一个通用的答案是:
当您使用npm install -g something安装全局模块时,npm会查找配置变量prefix以知道在哪里安装模块。
npm install -g something
prefix
您可以通过运行#0来获取该值
要显示该文件夹中可用的所有全局模块,请使用npm ls -g --depth 0(depth 0不显示它们的依赖项)。
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。
npm config edit
prefix = /my/npm/global/modules/prefix
npm config set prefix /my/npm/global/modules/prefix
当您使用基督教等工具时,它们会更改全局npm模块的平台默认安装路径。
正如其他答案所说,最好的方法是
但是,如果您安装了大量npm包,则此命令的输出可能会很长,并且向上滚动会很痛苦(有时甚至无法向后滚动那么远)。
npm
在这种情况下,将输出通过管道传输到more程序,如下所示
more
npm list -g | more
在Ubuntu 14.04中,它们安装在
/usr/lib/node_modules
从文档:
在npm 1.0中,有两种安装方式: 全局--这将模块放在{prefix}/lib/node_modules中,并将可执行文件放在{prefix}/bin中,其中{prefix}通常是类似于/usr/local。它还在{prefix}/share/man,如果提供的话。本地--这会将您的包安装在当前工作目录中。节点模块进入./node_modules,可执行文件进入./node_modules/.bin/,并且手册页根本没有安装。
在npm 1.0中,有两种安装方式:
全局--这将模块放在{prefix}/lib/node_modules中,并将可执行文件放在{prefix}/bin中,其中{prefix}通常是类似于/usr/local。它还在{prefix}/share/man,如果提供的话。
{prefix}/lib/node_modules
{prefix}/bin
{prefix}
/usr/local
{prefix}/share/man
本地--这会将您的包安装在当前工作目录中。节点模块进入./node_modules,可执行文件进入./node_modules/.bin/,并且手册页根本没有安装。
./node_modules
./node_modules/.bin/
您可以使用npm config get prefix获得{prefix}。(当您使用nvm安装节点时很有用)。
npm config get prefix
如果模块安装了全局(-g)标志,您可以通过运行以下命令获取父位置:
-g
npm get prefix
或
npm ls -g --depth=0
它将打印位置以及已安装模块的列表。
包被放入前缀下的node_modules文件夹中。在本地安装时,这意味着您可以需要("Packagename")加载其主模块,或//p> Unix系统上的全局安装转到{前缀}/lib/node_modules。Windows上的全局安装转到{pre重塑}/node_modules(即不lib文件夹。) 作用域包的安装方式相同,只是它们被分组一起放在相关node_modules文件夹的子文件夹中@符号的作用域前缀的名称,例如npm install@myorg/pack会将包放在/node_modules/@myorg/包,详细信息请参见作用域。 如果你想需要()一个包,然后在本地安装它。
包被放入前缀下的node_modules文件夹中。在本地安装时,这意味着您可以需要("Packagename")加载其主模块,或//p>
Unix系统上的全局安装转到{前缀}/lib/node_modules。Windows上的全局安装转到{pre重塑}/node_modules(即不lib文件夹。)
作用域包的安装方式相同,只是它们被分组一起放在相关node_modules文件夹的子文件夹中@符号的作用域前缀的名称,例如npm install@myorg/pack会将包放在
如果你想需要()一个包,然后在本地安装它。
阅读当地。阅读全球.
不是直接回答,但可能会有所帮助。
npm还有一个缓存文件夹,可以通过运行npm config get cache(Windows上的%AppData%/npm-cache)找到。
npm config get cache
%AppData%/npm-cache
npm模块首先在此处下载,然后复制到npm全局文件夹(Windows上的%AppData%/Roaming/npm)或项目特定文件夹(your-project/node_modules)。
%AppData%/Roaming/npm
your-project/node_modules
所以如果你想跟踪npm包,以及一些方法,所有下载的npm包的列表(如果npm缓存没有清理)都可以查看这个文件夹。文件夹结构为{cache}/{name}/{version}
{cache}/{name}/{version}
这也可能有助于https://docs.npmjs.com/cli/cache
您可以通过命令找到全球已安装的模块
它将为您提供安装node.js模块的位置。
如果在文件夹中安装node.js模块本地,则可以键入以下命令查看位置。
如果你正在寻找npm安装的可执行文件,也许是因为你想把它放在你的PATH中,你可以简单地做
npm bin
npm bin -g
如果您尝试从代码访问您的全局目录,您可以从#0回溯。例如,要查找{NODE_GLOBAL_DIR}/bin/wsproxy中的wsproxy,您只需:
{NODE_GLOBAL_DIR}/bin/wsproxy
wsproxy
path.join(path.dirname(process.execPath), 'wsproxy')
还有npm cli如何工作@#1/lib/npm.js#L254:
path.resolve(process.execPath, '..', '..')
另见#0/lib/install.js#L521:
var globalPackage = path.resolve(npm.globalPrefix,'lib', 'node_modules', moduleName(pkg))
其中globalPrefix在#1/lib/config/defaults.js#L92-L105中设置了默认值:
globalPrefix
if (process.env.PREFIX) {globalPrefix = process.env.PREFIX} else if (process.platform === 'win32') {// c:\node\node.exe --> prefix=c:\node\globalPrefix = path.dirname(process.execPath)} else {// /usr/local/bin/node --> prefix=/usr/localglobalPrefix = path.dirname(path.dirname(process.execPath)) // destdir only is respected on Unixif (process.env.DESTDIR) {globalPrefix = path.join(process.env.DESTDIR, globalPrefix)}}
Windows 10:当我运行npm prefix -g时,我注意到安装位置在我用来安装的git shell路径中。即使将该位置添加到路径中,也无法识别来自全局安装包的命令。修复方法:
npm prefix -g
顺便说一句,如果在本地找不到,npm将在父文件夹中查找node_modules(直到非常根)。
Windows 7、8和10-%USERPROFILE%\AppData\Roaming\npm\node_modules。
注意:如果您在文件夹中的某个地方键入cd ..,直到您在C:目录中。然后,键入cd %USERPROFILE%\AppData\Roaming\npm\node_modules。并且,神奇地%USERPROFILE%将变成Users\YourUserProfile\。我只是想澄清Decko在第一个响应中提到的想法。npm list -g将列出您全局安装的所有位。如果您需要找到与npm package相关的项目,然后cd 'your angular project xyz',然后运行npm list。它将显示npm package中的模块列表。它还会给您丢失的C:1列表,您可能需要有效地运行该项目。
cd ..
C:
cd %USERPROFILE%\AppData\Roaming\npm\node_modules
%USERPROFILE%
Users\YourUserProfile\
Decko
npm package
cd 'your angular project xyz'
扩展到其他答案。
将显示全局安装的包的位置。
如果您想将该列表输出到您可以在文本编辑器中轻松搜索的文件:
npm list -g > ~/Desktop/npmfiles.txt
要获得没有依赖项的紧凑列表,只需使用
npm list -g --depth 0
如果您安装了Visual Studio,您会发现它附带了自己的节点副本,与您自己安装节点时路径上的副本分开-我的在C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\NodeJs中。
如果您在此目录中运行npm命令,您将发现Visual Studio中安装了哪些节点模块。
在搜索真正的配置时,我开始发疯,所以这里是linux上所有配置文件的列表:
在windows上:
然后在此文件中配置前缀:
prefix=/usr
前缀在linux中默认为 /usr,在windows中默认为${APPDATA}\npm
节点模块在$pre出任树下,路径应该包含$pre出任/bin
可能会有一个问题:
/root/.npmrc
/home/youruser/.npmrc
npm set -g prefix /usr
这是所有丢失的信息,以查找配置在哪里。希望我已经详尽无遗。
返回配置:npm config ls或npm config list
npm config ls
npm config list
显示所有配置设置:npm config ls -l或npm config ls --json
npm config ls -l
npm config ls --json
打印有效的node_modules文件夹:npm root或npm root -g
打印本地前缀:npm prefix或npm prefix -g
npm prefix
(这是包含package.json文件或node_modules目录的最接近的父目录)