更多信息

中英双语

在本地安装时,npm 首先尝试找到合适的 prefix 文件夹。这样 npm install foo@1.2.3 将安装到您的软件包的合理根目录,即使您碰巧将 cd 安装到其他文件夹中。

从 $PWD 开始,npm 将遍历文件夹树,检查包含 package.json 文件或 node_modules 文件夹的文件夹。如果找到这样的东西,那么为了运行 npm 命令,它被视为有效的 "current directory"。(在工作目录中运行 git 命令时,此行为受到 git 的 .git-folder 搜索逻辑的启发并与之类似。)

如果没有找到包根目录,则使用当前文件夹。

当你运行 npm install foo@1.2.3 时,包被加载到缓存中,然后解压到 ./node_modules/foo 中。然后,任何 foo 的依赖项都被类似地解包到 ./node_modules/foo/node_modules/... 中。

任何 bin 文件都符号链接到 ./node_modules/.bin/,以便在必要时可以通过 npm 脚本找到它们。