J’essaie d’installer ncurses pour ruby sur windows. Je n’ai pas encore installé ncurses sur ma machine. Je pensais qu’avoir le “ruby devkit” , ça lui aurait suffi, mais maintenant on me demande de spécifier des options … Je ne sais pas quelles options choisir, ou si je dois faire / installer d’autres choses pour que la gemme soit installée:
C:\Ruby193\Devkit>gem install ncurses -- --ruby=C:/Ruby193/bin/ruby --without-make-prog --without-opt-dir Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing ncurses: ERROR: Failed to build gem native extension. C:/Ruby193/bin/ruby.exe extconf.rb --ruby=C:/Ruby193/bin/ruby --without-make-prog --without-opt-dir C:/Ruby193/lib/ruby/1.9.1/shellwords.rb:35:in `shellsplit': undefined method `scan' for false:FalseClass (NoMethodError) from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:2216:in `' from C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from extconf.rb:22:in `' Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/ncurses-0.9.1 for inspection. Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/ncurses-0.9.1/./gem_make.out
QU’EST-CE QU’UNE DOULEUR, je veux juste installer ce bijou pour que je puisse l’exécuter:
require 'curses' cols = Curses.stdscr.maxx msg = "random_ssortingng" str = msg.center(msg.length + cols - msg.length - 5 - 3) puts ""
Version mise à jour:
gem install curses --platform=ruby -- --with-ncurses-dir="C:\ncurses"
C: \ ncurses peut être n’importe quel répertoire
J’ai réussi à le faire pour Ruby 2.2, qui ne comporte pas de malédictions par défaut, mais cela m’a pris du temps:
ruby -e 'puts $:'
pourrait aider; gem instal curses
. Si l’étape précédente était incorrecte, cela échouera; Cette méthode ne fonctionnait pas pour d’autres gemmes, comme les ffi-ncurses. Astuce: la plupart des fonctionnalités de curses proviennent de la classe Window , qui est fournie avec les curses par défaut.
Mise à jour: Il semble que SourceForge n’héberge plus de binarys NCurses pour Windows. Cette réponse est effectivement obsolète maintenant. Pardon! (En août 2015, la page GNU NCurses répertorie une “nouvelle” version v6.0, qui est plus récente que la version 0.9.1 dans ma réponse.)
J’ai finalement obtenu cela (des années après en avoir eu besoin …) sans Cygwin, PDCurses ou la création manuelle de la source NCurses. Les instructions sont disponibles sur mon blog . Pour référence:
ruby -e 'puts $:'
Ça marche. Sans PDCurses!
J’ai réussi à télécharger les binarys ncurses 0.9.1 de sourceforge, donc la bibliothèque est toujours disponible.
J’ai ensuite essayé avec Ruby natif et IronRuby 1.1.3
placer les deux fichiers (ncurses.so ncurses.rb) dans
C: \ Ruby \ Ruby193 \ lib \ ruby \ 1.9.1
donne une erreur avec Ruby natif
Le module spécifié est introuvable. – C: /Ruby/Ruby193/lib/ruby/1.9.1/ncurses.so (LoadError)
Les placer ici (pour IronRuby) C: \ Program Files (x86) \ IronRuby 1.1 \ Lib \ ruby \ 1.9.1
donne
Le module devait contenir un manifeste d’assembly. (Exception de HRESULT: 0x80131018)
Quand gem installé a besoin de curses lib; vous devez donc d’abord installer NCurses avec votre msys2
https://sourceforge.net/p/mingw-w64/wiki2/NCurses/
Téléchargez NCurses (v5.9 au moment de la rédaction): http://ftp.gnu.org/pub/gnu/ncurses/ dans le répertoire source
Ensuite, décompressez et dans le shell MSYS:
./configure –host = x86_64-w64-mingw32 –enable-term-driver –enable-sp-funcs –prefix = / some / prefix
faire
faire vérifier
faire installer
puis comme mentionné dans le lien: https://github.com/ruby/curses/issues/13
utiliser –platform = ruby, – with-curses-include, – avec les indicateurs-curses-lib avec gem install
La gem rbuy ncurses nécessite que ncurses soit installé sur la machine. Pour autant que je sache, ncurses n’a pas été porté sur Windows. Donc, je ne pense pas que vous allez faire fonctionner cela.
Il y a peut-être d’autres façons de déterminer la largeur de l’écran sous Windows, mais je ne peux pas vous aider.