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

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

  1. 前端(这个是部署的)
  2. 共享
  3. 核心

这些都是在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针对开发而不是生产的错误解决scheme。

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

有谁知道更好的解决scheme?

"bundleDependencies"应该工作。 当你jitsu deploy ,它将分析依赖关系并尝试添加它们,但是可以使用--noanalyze来禁用它。 如果你在node_modules/app-corenode_modules/app-shared有你的依赖关系,那么我不明白为什么它不起作用。 你能告诉我更多的信息,如jitsu deploy的输出?

编辑:哦,我明白了,你有他们devDependencies以便他们不要安装Nodejitsu。 是的,我想这就是你会这样做,除非你只是想把依赖关系打包成子模块,甚至不把它们放在dependenciesdevDependencies

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

更改repourl从git+ssh://git@github.com...https://github.com/...