我試圖將我的應用程序投入Sails.js的生產環境,但無法通過繁重的任務。這是我收到的錯誤:無法將Sails.js應用程序投入生產
error: Error: The hook `grunt` is taking too long to load.
Make sure it is triggering its `initialize()` callback, or else set
`sails.config.grunt._hookTimeout to a higher value (currently 20000)
at tooLong [as _onTimeout]
(/usr/local/lib/node_modules/sails/lib/app/private/loadHooks.js:92:21)
at Timer.listOnTimeout (timers.js:110:15)
我有大幅提升sails.config.grunt._hookTimeout
仍然過程尚未完成。在生產或開發的輸出運行sails debug
:
Grunt :: Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11)
at Agent.Server._listen2 (net.js:1156:14)
at listen (net.js:1182:10)
at Agent.Server.listen (net.js:1267:5)
at Object.start (_debugger_agent.js:20:9)
at startup (node.js:86:9)
at node.js:814:3
我覺得很奇怪,在開發模式下,一切工作正常,但它不是在生產的情況。包含的文件非常大,如角度,時刻和其他模塊。這是jsFilesToInject
的樣子:
var jsFilesToInject = [
// Load sails.io before everything else
'js/dependencies/sails.io.js',
'js/dependencies/angular.min.js',
'js/dependencies/moment.min.js',
'js/dependencies/angular-ui-router.min.js',
'js/dependencies/angular-sails.min.js',
'js/dependencies/angular-moment.min.js',
'js/dependencies/angular-animate.min.js',
'js/dependencies/angular-aria.min.js',
'js/dependencies/angular-material.min.js',
// All of the rest of your client-side js files
// will be injected here in no particular order.
'js/**/*.js'
];
我不知道還有什麼會導致此,有什麼建議?我使用的版本揚帆0.11.0
您使用什麼端口進行生產?如果它是80端口,看看是否有其他服務使用它(nginx,apache等)並殺死它們。同樣值得嘗試以root身份提升sails以查找它是否與權限相關。 – galactocalypse
我以root身份運行,並在端口443上運行SSL。無論如何,它仍然無法使用80。沒有安裝apache或nginx。 –
嘗試運行grunt uglify:dist本身 – joncodo