我们构建的应用程序由三个存储库组成:
这些都是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,但没有用。
有谁知道更好的解决方案?
答案 0 :(得分:1)
"bundleDependencies"
应该有效。当您jitsu deploy
时,它会分析依赖项并尝试添加它们,但您可以使用--noanalyze
禁用它。如果您的依赖项位于node_modules/app-core
和node_modules/app-shared
,那么我不明白为什么它不起作用。你能告诉我更多信息,比如jitsu deploy
的输出吗?
devDependencies
中拥有它们,因此它们不会安装在Nodejitsu上。是的,我猜你会怎么做,除非你只是想把依赖关系捆绑为子模块,甚至不在dependencies
或devDependencies
里面。
答案 1 :(得分:0)
你只能从你自己的机器ssh到github。
将回购网址从git+ssh://git@github.com...
更改为https://github.com/...