npm将每个包安装两次
我刚刚安装了Homebrew,然后安装了Node(通过npm将每个包安装两次,npm,homebrew,Npm,Homebrew,我刚刚安装了Homebrew,然后安装了Node(通过$brew安装Node)。安装节点时,npm也会自动安装(为什么?) 无论如何,现在当我从npm安装任何软件包时,例如$npm install-g express,它安装在两个位置: Users/myuser/.npm/express和usr/local/lib/node\u modules/express $which express检索我usr/local/bin/express,它指的是usr/local/lib/node\u模块/ex
$brew安装Node
)。安装节点时,npm
也会自动安装(为什么?)
无论如何,现在当我从npm
安装任何软件包时,例如$npm install-g express
,它安装在两个位置:
Users/myuser/.npm/express
和usr/local/lib/node\u modules/express
$which express
检索我usr/local/bin/express
,它指的是usr/local/lib/node\u模块/express
。我认为它可以安装在usr/local/lib/node\u modules/。
中,因为我使用了-g
标志;但是为什么它也安装在我自己的用户(Users/myuser/.npm
)下呢
此外,终端如何知道
express
命令?我没有定义任何.bash\u配置文件文件。它如何知道转到usr/local/bin/$PATH
?节点安装NPM也是因为没有NPM的节点不会是节点:)
NPM是一个成功的注册中心。没有它,你不会走得更远
~/.npm
是所有软件包的缓存-因此这实际上不是安装。您可能知道缓存,这只是为了避免随着时间的推移重新下载内容。
此外,这可以通过配置
最后,最后一个位置-usr/local/lib/node_modules
是Express的实际全局安装