当我将我的应用程序部署到 AWS 时,它会被复制到一个新目录中,因此 NPM 将在每次部署期间安装所有相同的包,这可能会花费很多时间。大多数这些包在构建之间没有改变(如果有的话),所以让它执行完整的 npm-install 似乎是一种浪费。
我的应用服务器运行了一堆不同的 Node 应用,所以全局安装不是一个选项。相反,我希望应用程序将其节点包存储在部署期间未被清除的位置,但可以选择在 npm install
期间根据需要更新包。
NPM 是否有应用特定模块目录的概念,不位于应用的子文件夹中?这样我就可以删除应用程序文件夹,而不必一遍又一遍地重新安装相同的软件包。
我可以通过使用符号链接(symbolic link)或迁移当前的 node_module 目录来实现这一点。
最佳答案
如果您锁定依赖项版本,NPM 可能会缓存这些包。因此安装时间不会太长。
如果您不想这样做,您可以全局安装依赖项并使用 npm link
命令链接它们(这基本上是您自己创建一个符号链接(symbolic link)!)。然后,由您定期更新全局安装的软件包。
关于npm - 加速 NPM 包安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18111560/