Question

J'ai essayé d'utiliser eventmachine etc., avec JRuby. Je reçois des erreurs sur les extensions natives. Je crois que cela est dû à des limitations Java. Je pense que le fait que je suis sur Windows complique encore la question. Des précisions seraient appréciés. Ce que les extensions peuvent / ne peut pas être utilisé avec JRuby? Comment puis-je dire? Merci.

Était-ce utile?

La solution

il n'y a aucun moyen vraiment facile à utiliser des extensions natives dans JRuby. extensions natives appellent code c qui ne peut pas être appelé à JRuby sans mettre en œuvre en java. En dehors de cela quelques extensions voient ports JRuby, par exemple eventmachine que vous avez mentionné.

et pour autant que je sache, la seule façon de voir si vous pouvez utiliser un petit bijou / extension avec JRuby est de lire les documents, essayer ou lire la source

Autres conseils

JRuby ne supporte pas les extensions natives, malheureusement, parce qu'ils dépendent des détails de la mémoire et d'exécution spécifiques propres à la mise en œuvre C.
Habituellement, vous pouvez trouver une bibliothèque équivalente sur la machine virtuelle Java qui fonctionne bien en remplacement ...

Pour compléter de réponse LDomagala, vous pouvez également consulter ce fil en rapport avec le même "problème d'extension native"

Certains script d'installation peut se fonder sur RUBY_PLATFORM pour déterminer si de construire les extensions natives en fonction de votre système d'exploitation. Si vous êtes sur Windows, il ne sera pas les construire.

L'autre façon d'éviter la compilation native utilise l'ENV var 'NORUBYEXT'.

Mais cela peut encore impliquer quelques ajustements dans le script d'installation rubis ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top