heroku建议在Rails 5设置上启动PUMA的命令:
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}
首先,我认为3000是一个默认值,但实际上,如果开发中缺少PORT
,则实际上是使用端口5000。
问题:符号 ${VARIABLE:-3000}
是什么意思?
-
更新:似乎PUMA是罪魁祸首:工头/PUMA不使用Dev Env
是 VARIABLE
的默认值。
使用默认值。如果参数不设置或零,则扩展单词被替换。否则,参数的值为取代。
来自:https://www.gnu.org/software/bash/manual/bash.html#shell-parameter-parameter-expansion
在这种情况下,如果未设置PORT
变量,则其值将为3000
,并且类似地,如果未设置RACK_ENV
,则将为development
。