2

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

  1. 前端(这个已部署)
  2. 共享

这些都是 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 用于开发而不是生产。

我也尝试过收缩包装,但无济于事。

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

4

2 回答 2

1

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

编辑:哦,我明白了,你有它们,devDependencies所以它们不会安装在 Nodejitsu 上。是的,我想这就是你会这样做的方式,除非你只是想将依赖项捆绑为子模块,甚至不将它们包含在内部dependenciesdevDependencies.

于 2012-04-03T11:38:02.737 回答
0

You can only ssh to github from your own machine.

Change the repo url from git+ssh://git@github.com... to https://github.com/...

于 2012-03-19T13:06:59.803 回答