【问题标题】:Using compiled node dependencies on different environments在不同的环境中使用编译的节点依赖
【发布时间】:2011-11-11 13:38:10
【问题描述】:

我有一个节点项目,我在本地运行并部署到 CentOS 服务器。我有一些依赖项,其中一个依赖于已编译的依赖项。

使用 npm,我可以使用 npm install 在本地编译依赖项,它会很好用。但是,这不是为部署服务器编译的,因此如果上传它会中断。

我可以在 CentOS 机器上编译依赖,它可以在服务器上运行,但它会在本地环境中中断。

谁能想到一种解决方法,以便我可以强制节点使用本地环境中的全局依赖项,以及服务器上的本地依赖项?

谢谢!


更新:

我现在已经想出了一个方法,它并不优雅,但它有效:

  1. 在我的本地环境中运行 npm install
  2. 将 node_modules 文件夹重命名为 node_modules_local
  3. 在服务器上运行 npm install
  4. 在所有 require() 路径前添加一个变量
  5. 将本地环境变量设置为“开发”
  6. 检查我们是否处于开发模式,如果是,请将 require 路径变量设置为 ./node_modules_local

【问题讨论】:

    标签: node.js centos npm


    【解决方案1】:

    签入依赖项的源代码(编译的依赖项和 js-only-dependencies)。当您部署应用程序时,在服务器上运行“npm rebuild”。似乎这是官方推荐的方式。详情见http://www.mikealrogers.com/posts/nodemodules-in-git.html

    【讨论】:

      猜你喜欢
      • 2021-06-20
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      相关资源
      最近更新 更多