【问题标题】:Dependency management for nodejs that controlls versions of not just modules, but npm and node itselfnodejs 的依赖管理,不仅控制模块的版本,还控制 npm 和节点本身的版本
【发布时间】:2013-05-19 02:39:45
【问题描述】:

npm 似乎在管理依赖方面做得很好 给定项目的模块,具有声明性依赖 管理(在 package.json 文件中)。

我想更进一步,并以声明方式 从源代码控制控制哪个版本的 nodejs 和 npm (即在某个文件中指定这些版本 在项目的 git repo 中,就像 package.json 一样)

在新部署的机器上,我希望只有这些步骤:

1) 克隆 nodejs 项目的 git repo 2)安装或更新npm和nodejs的版本 3) npm 安装

然后我会使用它来进行单步部署/更新 可能是一个执行 (2) 和 (3) 并且提供的脚本 来自受源代码控制的配置文件。

我对只适用于 linux 的解决方案非常满意, 甚至对于给定的 linux 风格

【问题讨论】:

    标签: node.js npm


    【解决方案1】:

    看看 Nodejitsu 对他们的Package.json 做了什么。特别是您会看到以下几行:

    "engines": {
      "node": "v0.8.x"
    }
    

    然后看看可用的节点版本管理器here。关于基本用法here 有一篇合理的文章。

    鉴于您的部署都应该有一个package.json,这似乎是一种非常简单的方法来实现您正在寻找的东西。应该是数量有限的“胶水”代码,并且显然 Nodejitsu 正在这样做。

    【讨论】:

    • 谢谢,我试过N,接下来打算试试MVN。哪个命令将负责确保 package.json 的 "engines": {"node": "v0.8.0"} 部分?它是特定于 nodejitsu 的工具还是 NVM ?我在 MVN 的文档中没有看到提及它
    • “哪个命令将负责确保 package.json 的“引擎”:{“node”:“v0.8.0”} 部分?” 没有命令据我所知,这是您必须编写的代码的一部分。看起来您也应该能够使用 N 执行此操作。真的,就像查看package.json 并调用n x.y.z my_starting_file.js 一样简单。
    猜你喜欢
    • 2020-02-10
    • 1970-01-01
    • 2017-11-25
    • 2013-08-01
    • 2011-06-25
    • 1970-01-01
    • 2017-01-05
    • 2010-10-01
    • 2017-01-30
    相关资源
    最近更新 更多