Scripts inline de la boîte ubuntu vagrante émettant “mesg ttyname a échoué ioctl inapproprié pour le périphérique”

Je cours quelques scripts en ligne à la fin de chaque vagrant up .

 Vagrant.configure(2) do |config| config.vm.box = "bento/ubuntu-16.04" ... omitting all the other steps related to networking, folders, etc config.vm.provision "shell", inline: "service nginx restart", run: "always" config.vm.post_up_message = "Done!" end 

Et je reçois cela dans mes journaux:

 ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` ==> default: flag to force provisioning. Provisioners marked to run always will still run. ==> default: Running provisioner: shell... default: Running: inline script ==> default: mesg: ==> default: ttyname failed ==> default: : ==> default: Inappropriate ioctl for device ==> default: Machine 'default' has a post `vagrant up` message. This is a message ==> default: from the creator of the Vagrantfile, and not from Vagrant itself: ==> default: ==> default: Done! 

D’après ce que j’ai découvert jusqu’ici, cela devrait être quelque chose dans la configuration d’Ubuntu, pas Vagrant lui-même. J’ai trouvé et essayé cette solution sans succès: https://github.com/mitchellh/vagrant/issues/7368

Toutefois, le cas échéant, j’exécute les versions les plus récentes de Vagrant 1.8.7 et macOS Sierra.

Il est peut-être trop tard pour répondre à cette question, mais comme cela peut aider quelqu’un d’autre, il est bon de partager ce que j’ai essayé:

 # Prevent TTY Errors (copied from laravel/homestead: "homestead.rb" file)... By default this is "bash -l". config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'" 

Donc, comme vous pouvez le voir dans la ligne ci-dessus, le message “mesg: ttyname a échoué ioctl pour le périphérique” a été empêché par l’équipe laravel.

La plupart des développeurs aimeraient éviter les erreurs / avertissements lors du développement, ce qui semble être la solution dont nous avions besoin.

Note importante: Je n’ai pas trop testé cette solution, mais la boîte commence sans l’erreur “mesg: ttyname a échoué ioctl pour le périphérique”! Vous êtes libre de l’essayer et si vous rencontrez des problèmes, déposez simplement un commentaire pour sauver le temps de quelqu’un d’autre!