web-dev-qa-db-fra.com

Impossible de créer l'extension native de gem lors de l'installation de RedCloth-4.2.9, installation de Linux

Je souhaite installer Octopress sur mon ordinateur. J'essaye de le faire comme

Document Octopress.

Quand je cours

bundle install

J'ai eu un message d'erreur

An error occured while installing RedCloth (4.2.9), and Bundler cannot continue.
Make sure that `gem install RedCloth -v '4.2.9'` succeeds before bundling.

Alors je cours

Sudo gem install RedCloth -v '4.2.9'

alors, j'ai reçu à nouveau un message d'erreur:

ERROR:  Error installing RedCloth:
ERROR: Failed to build gem native extension.

    /usr/bin/Ruby1.9.1 extconf.rb
    /usr/lib/Ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/Ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:1:in `<main>'

Je n'avais aucune connaissance de Ruby.

20
thlgood

Vous avez probablement mis à niveau vers Mountain Lion et n'avez pas encore reconstruit votre installation Ruby-1.9.2 avec les nouveaux packages de développement.

rvm --force install 1.9.2
gem install bundle --no-ri --no-rdoc
bundle install

Si les packages Mountain Lion dev ne sont pas installés correctement, utilisez les instructions ThoughtBot .

11
Chris Winslett

Ma solution Ubuntu 12.04 consiste à installer la version complète de Ruby1.9.1, qui peut résoudre ce problème.

Sudo apt-get install Ruby1.9.1-full

vous pouvez exécuter la commande:

Sudo update-alternatives --config Ruby

pour sélectionner le rubis alternatif que vous avez installé. et ensuite, exécutez les commandes ci-dessous pour terminer le déploiement d'octopress:

git clone https://github.com/erizhang/octopress.git octopress
cd octopress/
Sudo gem install bundler
Sudo gem install RedCloth -v '4.2.9'
bundle install
rake install

ci-dessous les commandes que vous pouvez trouver sur la page de directives de déploiement d’octopress:

rake setup_github_pages
Sudo rake setup_github_pages
Sudo rake generate
Sudo rake deploy

J'espère que c'est utile pour vous, merci

29
Eric Zhang

J'ai résolu ce problème en courant

Sudo apt-get install Ruby-dev

comme décrit dans cet article de blog .

20
Ryan

J'installais aussi Octopress et j'ai le même problème que le vôtre. Après avoir vérifié le fichier mkmf.log, j’ai découvert que gcc-4.2 n’avait pas été trouvé. J'ai même installé xcode avec les outils de ligne de commande. Cela a fonctionné quand j'ai créé un lien symbolique comme ceci:

$ Sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
$ bundle install
20
sniperbat

Pour Ubuntu 14.04 faites simplement ceci:

Sudo apt-get install Ruby1.9.3

Devrait fonctionner pour 13.10 et 13.04 aussi. (Pas testé)

6
Saugat Acharya

il semble que vous n’utilisez pas rvm pour gérer votre installation Ruby. Je pense que le mieux serait d’essayer rvm, voici un très bon guide, vous pouvez vous arrêter sans installer Rails: Ruby with rvm

Alors simplement

$gem install RedCloth

Les rubis non gérés sont une douleur, je tente de les éviter.

1
Florin Gogianu

Assurez-vous également que le package build-essential est installé. Vous pouvez vérifier en utilisant

dpkg -l | grep build-essential

ou simplement l'installer sans vérifier

Sudo apt-get install build-essential

Pour moi sur Ubuntu 14.04.1 LTS, après s’être assuré que build-essential est installé, la commande bundle install fonctionne/construit parfaitement aussi avec Ruby 1.9.3.

0
Janne Cederberg

Aucune des réponses n'a fonctionné sur mon Ubuntu 14.04.1 LTS. La mise à niveau vers Ruby 2.0 corrige le problème pour moi:

Sudo apt-get install Ruby2.0 Ruby2.0-dev
Sudo ln -s /usr/bin/Ruby2.0 /usr/bin/Ruby
Sudo ln -s /usr/bin/gem2.0 /usr/bin/gem
Sudo gem install bundler
0
damgad