node.js - Node/npm : How to reinstall/recompile copied app packages

标签 node.js package npm offline reinstall

设置:

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

  • 应用模块之间是 fi: mongoose,它在安装时使用 node-gyp 编译原生 BSON 扩展。

    <
  • app 文件夹被复制到另一个没有 Internet 连接的 VM 并且它具有完整的功能,但是编译的扩展不起作用但它的 .js 后备可以。

问题:

如何在没有互联网连接的情况下在新虚拟机上重新安装/重新编译/重新生成所有应用程序模块?

最佳答案

这正是npm rebuild命令确实如此。将应用复制到新 VM 后,只需在应用目录中运行 npm rebuild,任何二进制附加组件都将被重新编译以匹配当前的 CPU 架构和 Node 版本。如果复制之前的初始 npm install 完全成功,则第二个 VM 上的 npm rebuild 将不需要下载任何内容。只需确保第二个 VM 具有合理接近的 Node 版本和适当的较低级别编译器、库等(例如,debian 上的 build-essential 和 python)。

关于node.js - Node/npm : How to reinstall/recompile copied app packages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27257424/

相关文章:

node.js - Apache 和 Node 在端口 80 上

r - 更新嵌入数据,例如 sysdata.rda

javascript - 即使我更新了 .bash_profile,所有 NPM 命令也不起作用

javascript - 将 teams-js 导入 Vue.js 文件

node.js - 如何解决我的 create-react-app 包的 webpack "unmet peer dependency"警告?

javascript - 使用 React Native 在 ScrollView 中创建完整的宽度和高度框

javascript - Testrpc 错误:在 Mac 上监听 EADDRINUSE:::8545

javascript - 如何将CURL请求转换为axios请求?

go - 如何在终端中使用 Go 本地包

r - 当对象在另一个包中定义时,如何在 R 中调用新函数?