Nodejs / npm:如何重新安装/重新编译复制的应用程序包

时间:2014-12-02 19:32:03

标签: node.js package npm offline reinstall

设定:

  • 具有Internet连接的VM,其中将执行npm install以安装所有应用程序依赖项。结果将是一个包含应用程序及其依赖项的文件夹,位于node_modules

  • 应用程序模块之间是fi:mongoose,在安装时使用node-gyp编译本机BSON扩展。

  • 应用程序文件夹被复制到另一个没有Internet连接的虚拟机,它完全正常运行,但编译后的扩展程序不起作用,但其.js后备功能不起作用。

    < / LI>

问题:

如何在没有Internet连接的情况下重新安装/重新编译/重新生成新VM上的所有应用程序模块?

1 个答案:

答案 0 :(得分:15)

这正是npm rebuild命令的作用。在将应用程序目录复制到新VM后,只需在应用程序目录中运行npm rebuild,将重新编译任何二进制加载项以匹配当前的CPU体系结构和节点版本。如果副本之前的初始npm install完全成功,则第二个VM上的npm rebuild将不需要下载任何内容。只需确保第二个VM具有合​​理关闭的节点版本和适当的低级编译器,库等(例如,build-essential和python on debian)。