使用這個例子procfile:「沒有進程定義」一個簡單的node.js從工頭檢查Procfile
web: node app.js
運行命令
foreman check
我的錯誤,當我收到錯誤得到的是:
ERROR: no processes defined
不知道這個問題,但我在Windows 8上運行此應用程序運行在我的l ocal機器正在運行:
node app.js
使用這個例子procfile:「沒有進程定義」一個簡單的node.js從工頭檢查Procfile
web: node app.js
運行命令
foreman check
我的錯誤,當我收到錯誤得到的是:
ERROR: no processes defined
不知道這個問題,但我在Windows 8上運行此應用程序運行在我的l ocal機器正在運行:
node app.js
不幸的是,工頭does not run on Windows。 ddollar啓動了一個替代項目foreman-windows,嘗試添加Windows支持,但我不知道它是否完全起飛。
如果你想一個輔助任務在本地啓動您的節點環境,編寫自己的cake任務很好,雖然人工,替代:
{spawn, exec} = require 'child_process'
task 'start', 'Spin up dev environment', ->
exec 'node app.js'
然後你會在命令執行任務行:
cake start
這給你創造各種操作多重任務的額外的好處,並微調任務,以滿足項目的需要。
請注意,Windows在某些命令時喜歡切換事物。例如,在基於* NIX的機器,你可以在瀏覽器中打開你的網站:
exec "open http://localhost:3000/"
但在Windows上,它是start
代替:
exec "start http://localhost:3000/"
的另一個重要區別是處理環境變量。在* nix中,你可以簡單地在前面加上他們到你的命令:
exec "NODE_ENV=staging node server.js"
但是,如果您嘗試使用這種格式與exec
在Windows上,它會失敗。相反,生成一個新的bash:
terminal = spawn 'bash'
terminal.stdin.write "NODE_ENV=staging node server.js"
terminal.stdin.end()
而且你可以偵聽來自bash的太事件:
terminal.stdout.on 'data', (data) ->
console.log "#{data}"
terminal.stderr.on 'data', (data) ->
console.log "#{data}"
如果你正在寫有支持多種平臺的工具,你可以做一個操作系統平臺檢查相對容易做出調整:
os = require 'os'
if os.platform() is 'win32'
<do Windows stuff>