javascript - Nodejs 模块是否可以跨不同的 Linux 发行版移植?

标签 javascript linux node.js npm

据我所知,一些 node.js 模块依赖于本地操作系统库的支持,例如 node-imagimagick。

但是这个问题困扰了我一段时间。

在一个 Linux(例如 Ubuntu)中说我有一个 nodejs 应用程序,所有依赖项都是通过 npm install 下载的,nodejs 应用程序连同依赖项可以简单地复制到另一个操作系统(不同linux 发行版,例如 Redhat)并顺利运行,假设后者需要本地库。

会不会有兼容性问题?

我认为真正的问题是 npm install 做了什么?它是构建操作系统特定的二进制代码还是只下载 javascript 库。

最佳答案

与 imagemagick 示例一样,某些 npm 模块可能具有应用程序外部的依赖项。例如,一个 ZeroMQ npm 模块不会包含一个 ZeroMQ 二进制文件(或者不应该)。

如果您想要 Linux 发行版之间的完全可移植性,您可以考虑使用 Docker 容器。例如,您可以让您的 Dockerfile 满足所有先决条件(例如安装 ZeroMQ),然后让您的 Node 应用程序在该容器内运行。这样你就可以确定你正在使用的所有 npm 模块都可以像在你的 linux 发行版上一样工作。

关于javascript - Nodejs 模块是否可以跨不同的 Linux 发行版移植?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27863954/

相关文章:

javascript - jsRender 模板中的算术运算符

javascript - 响应式设计中的背景图像

node.js - Express.js 应用程序的单元测试与集成测试

javascript - React 组件中的方法不渲染 HTML

c - 原始套接字和 NF_INET_POST_ROUTING

regex - 使用 AWK 将字符串用正斜杠括起来

c++ - 在linux下编译leveldb c++程序出错?

javascript - 为什么我的 javascript promise 没有解决?

javascript - Electron 登录/注册等

javascript - 根据函数返回值更新dom