Se você não deseja definir a variável de ambiente , outra opção é modificar a scripts
parte do package.json de:
"start": "react-scripts start"
para
Linux (testado no Ubuntu 14.04 / 16.04) e MacOS (testado por @ aswin-s no MacOS Sierra 10.12.4):
"start": "PORT=3006 react-scripts start"
ou (pode ser) solução mais geral por @IsaacPak
"start": "export PORT=3006 react-scripts start"
Solução Windows @JacobEnsor
"start": "set PORT=3006 && react-scripts start"
A lib cross-env funciona em qualquer lugar. Ver resposta de Aguinaldo Possatto para detalhes
Atualização devido à popularidade da minha resposta: Atualmente, prefiro usar variáveis de ambiente salvas em .env
arquivo (útil para armazenar conjuntos de variáveis para diferentes deploy
configurações de forma conveniente e legível). Não se esqueça de adicionar *.env
em .gitignore
se você ainda está armazenando seus segredos em .env
arquivos. Aqui está a explicação de por que usar variáveis de ambiente é melhor na maioria dos casos. Aqui está a explicação de por que guardar segredos no ambiente é uma má ideia.
next -p 3005
se alguém cair aqui procurando a mesma coisa.