将私有存储库部署为依赖项

时间:2012-03-19 12:32:57

标签: node.js npm nodejitsu

我们构建的应用程序由三个存储库组成:

  1. 前端(此部署已部署)
  2. 共享
  3. 核心
  4. 这些都是GitHub上的私有Git存储库。

    我的package.json文件的相关部分如下所示:

      "dependencies": {
        "express": "2.5.x",
        "coffeecup": "0.3.x",
        "socket.io": "0.8.x",
        "connect-mongodb": "1.x",
        "app-core": "git+ssh://git@github.com:...git",
        "app-shared": "git+ssh://git@github.com:...git"
      },
      "devDependencies": {
        "mongoskin": "*",
        "bcrypt": "*",
        "libxml-to-js": "0.3.x"
      },
      "bundleDependencies": [
        "app-core",
        "app-shared"
      ],
      "analyze": true
    

    当我部署到Nodejitsu时,使其工作的唯一方法是在我部署的存储库的devDependencies中具有Shared和Core的依赖关系,但这似乎是错误的解决方案,因为devDependencies用于开发而非生产。

    我也试过Shrinkwrapping,但没有用。

    有谁知道更好的解决方案?

2 个答案:

答案 0 :(得分:1)

"bundleDependencies"应该有效。当您jitsu deploy时,它会分析依赖项并尝试添加它们,但您可以使用--noanalyze禁用它。如果您的依赖项位于node_modules/app-corenode_modules/app-shared,那么我不明白为什么它不起作用。你能告诉我更多信息,比如jitsu deploy的输出吗?

编辑:哦,我知道,你在devDependencies中拥有它们,因此它们不会安装在Nodejitsu上。是的,我猜你会怎么做,除非你只是想把依赖关系捆绑为子模块,甚至不在dependenciesdevDependencies里面。

答案 1 :(得分:0)

你只能从你自己的机器ssh到github。

将回购网址从git+ssh://git@github.com...更改为https://github.com/...

相关问题