2014-01-08 84 views
0

我正在为嵌入式Linux系统(使用buildroot制作busybox)的项目工作。我想知道是否有可能使用node.js模块socket.io表示而不必安装或运行npm。目标是能够将buildroot配置为创建一个简单包含node.js的busybox图像,然后将所有的javascript文件放在适当的目录中并从命令行执行node app.js以运行节点应用程序(将使用socket.io表示)。在没有npm的情况下使用socket.io和express模块​​

因此,例如我的机器上(这确实有node.js中并安装npm),我可以运行npm install socket.io所以它会得到socket.io及其所有依赖关系,并在node_modules目录的安装是我的项目。如果我将所有这些文件放在一个目录中,并将它们移动到生产环境(嵌入式Linux,只安装了node.js,并且npm install socket.io从未运行过),我的应用程序可以工作吗?

回答

1

如果我将所有这些文件放在一个目录中并将它们移动到生产环境,我的应用程序是否可以工作?

是的,它会。但是,如果你有任何二进制依赖关系,他们需要重新编译,所以它有点棘手。如果你不这样做,你会没事的。

+0

谢谢。是否有一种简单的方法可以判断一个包(及其所有依赖项)是否具有二进制文件,还是只需要搜索所有的存储库? – AnalogWeapon

+0

运行'npm rebuild'。如果它正在重新编译一些东西,那么二进制依赖关系就在那里。这些日子很少见,我只是为了完整而提到它。 – alex

相关问题