将私有存储库部署为依赖项
我们已经构build了我们的应用程序,由三个存储库组成:
- 前端(这个是部署的)
- 共享
- 核心
这些都是在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-core
和node_modules/app-shared
有你的依赖关系,那么我不明白为什么它不起作用。 你能告诉我更多的信息,如jitsu deploy
的输出?
编辑:哦,我明白了,你有他们devDependencies
以便他们不要安装Nodejitsu。 是的,我想这就是你会这样做,除非你只是想把依赖关系打包成子模块,甚至不把它们放在dependencies
或devDependencies
。
你只能从你自己的机器ssh到github。
更改repourl从git+ssh://git@github.com...
到https://github.com/...