【问题标题】:run nodejs application on system which does not have node [closed]在没有节点的系统上运行nodejs应用程序[关闭]
【发布时间】:2017-03-11 07:21:16
【问题描述】:

我为一个客户端开发了一个nodejs应用程序,但是显然要求客户端在他们的系统中安装nodejs和npms看起来不太好。

如果我们只是复制粘贴它们,NPM 不起作用,我们需要执行 npm install 'npm name',这也是一个问题。

假设客户的系统中没有互联网访问权限, 我想要一个 exe 或某个文件,单击时无需安装任何 npms 或 nodejs 即可工作。 有什么东西可以让它发生吗?我确信一定有,我错过了。如果有人可以帮助我,我将不胜感激

提前致谢

更新

我没有选择回答我的问题,所以更新问题本身

How to install NodeJS project locally without internet connection?

这真的很有帮助..这就是我如何压缩我的模块并将其安装在其他机器上..和

https://github.com/jxcore/jxcore

这对于将项目作为单个文件运行很有用

【问题讨论】:

    标签: javascript node.js npm


    【解决方案1】:

    有点 hacky,但您可以在不显示浏览器窗口的情况下运行电子(原子壳)实例,并将主进程用作 Node.js 游乐场。

    关于构建和部署Electron的任何参考

    【讨论】:

    • Hacky 不好。他们需要学习最好和最实用的方法。不能解决或超出这样的规范解决方案。
    • 唯一的 hacky 部分实际上是“不显示浏览器窗口”的部分,但如果您不需要任何 GUI,可能不是那个 hacky.
    • @ZephyrPellerin 同意。假设您的客户在他们的服务器上没有互联网访问权限。这是玩笑吗?
    【解决方案2】:

    执行此操作的专业方法是为客户的相应包管理系统构建可本地安装的包。

    所有主要的 Unix 衍生操作系统(甚至 Windows,sortof)都附带了一个强大的包管理系统,该系统的设计考虑了这种情况。

    • Fedora / Redhat / CentOS - Building an RPM package
    • Ubuntu / Debian / Windows(Linux 的 Windows 子系统)-Building a DPKG
    • Mac OSX - pkgbuild
    • FreeBSD / OpenBSD - 由于多种原因,对于像 Node.JS 这样的包来说,这有点棘手,但网上有很多资源。

    如果您或您的客户无法提供适用于 Linux 的 Windows 子系统,则可能有几十个项目,从 nexe 到 Closure 编译器,用于将 Node 项目构建为适用于各种平台的单个可执行文件。

    如果您对空闲时间过多感到痒痒,V8 还包括用于针对使用 d8 调试器的任意指令集从CrankShaft 发出的代码的工具。我听说过足够“复杂”(阅读:精神错乱)的程序员将其包装在 Windows 的 PE/COFF 中,例如 SBCL Common Lisp 的“核心转储”。

    【讨论】:

    • 问题中的“exe”暗示着Windows
    • @Quentin WSL 也使用 dpkg。
    • 构建一个可本地安装的包..是我需要的东西..谢谢
    • 但不确定如何将 nodejs 项目转换为可安装包.. 让我看看上面的方法是否适合我.. 谢谢
    • @user5821368 在 Electron 之前,成千上万的其他人已经以这种方式打包了他们的应用程序(并且继续这样做)。像您这样的高级软件工程师可以毫无问题地弄清楚这一点。
    【解决方案3】:

    SSH 进入他们的系统并安装它。一点都不难。根据他们的操作系统将确定需要采取的步骤。这是唯一正确的方法。我每天都为客户做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多