2013-03-04 18 views
5

RoR jest ładne, ale czasami sprawia, że ​​chcę uderzać głową o ścianę (i to chyba moja wina). Ja po prostu próbuje zainstalować gem Thin web-klienta, a kiedy biegnę sudo gem install thin, pojawia się następujący komunikat o błędzie (nie wymaga instalacji gem eventmachine pierwszy):Błąd podczas instalacji gem nie udało się zbudować natywnych rozszerzeń gem - nie można załadować takiego pliku - mkmf

sudo gem install thin 
    Fetching: eventmachine-1.0.1.gem (100%) 
    Building native extensions. This could take a while... 
    ERROR: Error installing thin: 
      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:2:in `<main>' 

Rozglądałem dla "nie można załadować takiego pliku - mkmf", ale większość problemów zdaje się otaczać fakt, że był dostępny w wersji 1.8-dev, ale nie 1.8, ale jak już używam 1.9.3 pomyślałem, że mam mkmf - co zweryfikowałem z locate mkmf:

/home/ubuntu/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb 

katalogu, który znajduje się w mkmf nie jest oczywiście pod/usr/lib/rubin/... reżysera y - Nie jestem pewien, czy to jest mój problem, czy nie, ale może wystarczy, aby rozpocząć jeden z was ekspertów tam, co się dzieje i jakie może być rozwiązanie.

Również Użyłem RVM zainstalować Ruby 1.9.3 zamiast tylko gem install ...

Z góry dzięki!

Odpowiedz

5

jeśli używasz RVM, nie powinieneś nigdy używać 'sudo'. Używanie sudo wywołuje biblioteki i takie z ścieżki rvm. Wypróbuj po prostu płaski i zobacz, czy to pomaga.

~ Kevin

+0

że było - Dzięki @ devneck! Niestety, wydaje mi się, że zainstalowałem kilka klejnotów za pomocą 'sudo', więc może to sprawić mi trochę kłopotu, ale postaram się o tym pamiętać. – MandM

+0

Wystąpił również problem, gdy próbowałem uruchomić cienki serwer WWW, ale zostało to naprawione przez dodanie "cienkiego" do Gemfile. – MandM

5

Miałem podobny błąd do tej zewnętrznej RVM, znalazłem, że muszę zainstalować ruby-devel

+0

To było to! Amazon Linux –

3

Mam ten sam problem w Ubuntu 12.04. Rozwiązany przez:

sudo apt-get install build-essential 
sudo apt-get install curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev 
+0

Próbowałem ich wcześniej, zanim spróbuję zainstalować cienki, ale nadal otrzymam błąd wspomniany powyżej. Sztuką dla mnie było zainstalowanie klejnotu bez poprzedzania polecenia "sudo", ale uważam, że kroki, które pokazałeś, są nadal ważne w tym procesie. – MandM

+1

Na ubuntu 14.04, musiałem tylko zrobić: 'sudo apt-get install-essential', a następnie 'sudo gem install thin' – genegc

+0

Dla ubuntu 14.04 Zrobiłem sudo apt-get install libpq-dev –

1

Try poniżej komenda pomaga rozwiązać problem

sudo gem install thin -- --with-cflags=\"-O2 -pipe -march=native -w\" 
1

to zrobił to dla mnie:

sudo apt-get install ruby-dev 

Cheers

+0

Musiałem zrobić ' sudo apt-get install ruby-dev build-essentials' na nowej instalacji Ubuntu 16.04 – Phrogz

Powiązane problemy