Non ho abbastanza rep per commentare, quindi proverò una risposta ...
Volevo commentare poiché vorrei chiarire il motivo per cui è necessario aggiungere npm - la mia installazione di npm (tramite homebrew) funziona correttamente, senza creare un buco nel firewall. Ovviamente YMMV ...! Ma sappi che ho non testato correttamente con npm (ho provato ad aggiungere npm, e ha continuato a funzionare bene.)
Credo che tu voglia il firewall a livello di applicazione . (È lo stesso firewall a cui puoi accedere anche tramite Preferenze di Sistema - > Sicurezza e privacy - > Firewall).
Sembra che l'API del mio socketfilterfw sia cambiata rispetto a quella discussa nell'articolo collegato. Ti suggerisco cautela e controlla l'API per la tua versione prima facendo qualsiasi altra cosa:
/usr/libexec/ApplicationFirewall/socketfilterfw -h
La mia versione di socketfilterfw non ha l'opzione "-t" menzionata nell'articolo collegato, quindi ho dovuto usare:
/usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/local/bin/npm