Jekyll travaillait bien pour moi il y a quelques semaines mais maintenant, tout à coup, cela me donne l’erreur suivante:
TCPServer Error: Address already in use - bind(2) INFO WEBrick::HTTPServer#start: pid=7300 port=4000 % lsof -i :4000
Même si rien ne fonctionne sur le port. Voici les détails:
% jekyll --version Jekyll 0.11.2 % where jekyll /home/bhaarat/.rvm/gems/ruby-1.9.2-p290/bin/jekyll /usr/bin/jekyll % ruby --version ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] % rvm --version rvm 1.10.0
Voici la sortie
% jekyll --server Configuration from /home/bhaarat/blog/omnipresent.github.com/_config.yml Auto-regenerating enabled: /home/bhaarat/blog/omnipresent.github.com -> /home/bhaarat/blog/omnipresent.github.com/_site [2012-04-21 13:46:40] regeneration: 38 files changed [2012-04-21 13:46:40] INFO WEBrick 1.3.1 [2012-04-21 13:46:40] INFO ruby 1.9.2 (2011-07-09) [i686-linux] [2012-04-21 13:46:40] WARN TCPServer Error: Address already in use - bind(2) [2012-04-21 13:46:40] INFO WEBrick::HTTPServer#start: pid=7382 port=4000
Je sais que l’adresse n’est pas utilisée et jekyll est probablement en train de casser pour une autre raison mais en jetant cette erreur. Quelles sont mes options? J’ai aussi essayé de réinstaller.
Tapez ceci dans votre terminal pour connaître le PID du processus utilisant le port 3000:
$ lsof -wni tcp:3000
Ensuite, utilisez le numéro dans la colonne PID pour supprimer le processus:
$ kill -9 PID
Je n’étais pas qualifié pour poster un commentaire. J’ai donc ajouté une nouvelle réponse.
J’ai rencontré ce problème sous Mac OS X 10.10.3. Et je n’avais jamais installé / utilisé Jekyll auparavant. Je n’ai pas pu démarrer le serveur jekyll avec son numéro de port par défaut 4000. La raison était que le port était le même que celui utilisé par NoMachine. Avec
$ sudo lsof -wni tcp:4000
Note: L’exécution de cette commande sans sudo
n’aura aucune sortie.
J’ai vu cette sortie:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nxd 449 nx 3u IPv4 0x8d22************ 0t0 TCP *:terabase (LISTEN) nxd 449 nx 4u IPv6 0x8d22************ 0t0 TCP *:terabase (LISTEN)
Le port 4000 était occupé par nxd
, processus lancé par NoMachine. Et
$ sudo kill -9 449
ne fonctionnera pas, car le processus nxd de NoMachine continuera à redémarrer, avec un nouveau PID.
Par conséquent, je dois soit:
Changer mon port de serveur jekyll dans le site _config.yml
à un autre épargné. J’ai ajouté la ligne ci-dessous à _config.yml
et cela a fonctionné.
port: 3000 # change server port to 3000
ou
Ctrl-Z
ne termine pas un programme, mais le suspend plutôt et l’envoie en arrière-plan. Vous pouvez reprendre le programme avec la commande “fg”. Pour le terminer, utilisez Ctrl-C
.
Le message d’erreur réel semble être faux et peut être ignoré. Je reçois le même message d’erreur “adresse utilisée” mais jekyll fonctionne correctement au port prévu.
J’ai rencontré ce problème récemment.
J’ai essayé toutes les méthodes mentionnées ci-dessus et j’ai même redémarré mon ordinateur, mais je ne pouvais toujours pas le résoudre !!! Puis j’ai enlevé le jekyll et installé une nouvelle version, ça a juste fonctionné.
gem uninstall jekyll & gem install jekyll
(peut-être vous avez besoin de privilège super utilisateur).
Si vous êtes vraiment ennuyé par des bogues similaires, cette méthode vaut le coup d’essayer …
solution de contournement
dans /_site
exécuté: python -m SimpleHTTPServer 8080
Vérifiez que vous n’avez pas un autre terminal ouvert sur lequel vous exécutez déjà un serveur. Si tel est le cas, effectuez un CTRL-C pour arrêter le serveur, ce qui libère le port / l’adresse.
Vous devez d’abord trouver le PID du processus qui utilise le port 3000:
$ps -ef
Sortie Comme ceci:
1003 4953 2614 0 08:51 pts/0 00:00:00 -bash 1003 5634 1 0 08:56 pts/0 00:00:00 spring server | moviestore | started 2 hours ago 1003 5637 5634 0 08:56 ? 00:00:01 spring app | moviestore | started 2 hours ago | development mode 1003 6078 4953 0 09:03 pts/0 00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore] 1003 6117 2614 0 09:03 pts/1 00:00:00 -bash root 6520 2 0 09:57 ? 00:00:00 [kworker/u8:2] root 6936 1225 0 11:09 ? 00:00:00 [lightdm] 1003 7084 1 0 11:09 ? 00:00:00 /usr/bin/python /usr/share/apport/apport-gtk 1003 7475 1 0 11:10 ? 00:00:00 /usr/bin/python /usr/share/apport/apport-gtk root 8739 1225 1 11:29 tty8 00:00:11 /usr/bin/X :1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch root 8853 1225 0 11:29 ? 00:00:00 lightdm --session-child 13 22 1002 8943 1 0 11:30 ? 00:00:00 /usr/bin/gnome-keyring-daemon --daemonize --login 1002 8954 8853 0 11:30 ? 00:00:00 gnome-session --session=ubuntu 1002 8992 8954 0 11:30 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu 1002 8995 1 0 11:30 ? 00:00:00 /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu 1002 8996 1 0 11:30 ? 00:00:00 //bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session 1002 9007 8954 0 11:30 ? 00:00:00 /usr/lib/gnome-settings-daemon/gnome-settings-daemon 1002 9015 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfsd 1002 9018 8954 1 11:30 ? 00:00:07 compiz 1002 9021 1 0 11:30 ? 00:00:00 /usr/lib/x86_64-linux-gnu/gconf/gconfd-2 1002 9028 8954 0 11:30 ? 00:00:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 1002 9029 8954 0 11:30 ? 00:00:01 nautilus -n 1002 9030 8954 0 11:30 ? 00:00:00 /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper 1002 9031 8954 0 11:30 ? 00:00:00 nm-applet 1002 9032 8954 0 11:30 ? 00:00:02 /opt/mTrac/mTrac 1002 9033 8954 0 11:30 ? 00:00:00 bluetooth-applet 1002 9045 9032 0 11:30 ? 00:00:00 /opt/mTrac/mTrac --type=zygote --no-sandbox 1002 9050 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfs-gdu-volume-monitor 1002 9054 1 0 11:30 ? 00:00:00 /usr/bin/pulseaudio --start --log-target=syslog 1002 9057 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor 1002 9062 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfs-afc-volume-monitor
içi vous pouvez voir :
1003 6078 4953 0 09:03 pts/0 00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]
localhost: 3000 ont pid: 6078
tuer ce processus en
$sudo kill 6078
puis courir
$rails s