回答:
(UNIXシェルプロンプトから)1回だけ実行する場合:
$ PORT=1234 node app.js
より永続的に:
$ export PORT=1234
$ node app.js
set PORT=1234
Windows PowerShellの場合:
$env:PORT = 1234
VAR_1=value VAR_2=11827 node
->スペースを使用して、同じコマンドで複数の変数を使用します
クロスプラットフォームソリューションを使用できますhttps://www.npmjs.com/package/cross-env
$ cross-env PORT=1234
cross-env
この問題を抽象化して見つけ、うまくいくまで40分ほど費やしました。
編集: @sshowのコメントに従って、ノードアプリをポート80で実行しようとしている場合、以下はそれを行うための最良の方法ではありません。より良い答えは次のとおりです:ポート80でNode.jsを実行するにはどうすればよいですか?
元の回答:
これをポート80で実行する場合(または環境変数をより永続的に設定する場合)、
vim ~/.bash_profile
export PORT=80
sudo visudo
Defaults env_keep +="PORT"
これで実行するsudo node app.js
と、期待どおりに動作するはずです。
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
し、代わりにポート8080をリッスン。stigok.tumblr.com/post/139320914543/...