2016-04-26 5 views
5

Ich versuche, Rails unter Windows 10 zu arbeiten. Ich benutze Ruby 2.3.0 und Rails 4.2.6, und verwende vorübergehend Nokogiri 1.6.3.Nokogiri benötigt Ruby-Version <2.3

Wenn ich versuche rails new demo ausgeführt wird, gibt es einen Fehler:

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

Als ich gem install nokogiri -v '1.6.7.2 laufen erhalte ich:

ERROR: Error installing nokogiri: 
     nokogiri requires Ruby version < 2.3, >= 1.9.2. 

Wie aktualisiere ich Nokogiri und bekommen Rails zu arbeiten?

+0

was gibt 'ruby -v' aus? – Anthony

+0

Es scheint nur für Windows, in Linux funktioniert es für 2.3.0 Ruby –

+0

Es ist eine Schande, aber wenn Sie den Release Candidate Ansatz versuchen möchten, müssen Sie Ihre Ruby-Version downgraden. Eine andere Möglichkeit wäre, JRuby zu versuchen, wenn das für Sie nicht zu drastisch ist. JRuby kann hilfreich sein, um die OS-spezifischen Probleme zu reduzieren, die Windows-Ruby-Benutzern begegnen könnten. –

Antwort

10

Installieren Sie die neueste Version von Nokogiri. In Gemfile:

gem 'nokogiri', '~> 1.6.8.rc2' 
+3

Der Befehl funktioniert nicht, aber ich nehme an, Sie meinen: 'gem install nokogiri -v 1.6.8.rc2', das installiert hat, aber der gleiche Fehler tritt auf, wenn ich 'rails new demo' versuche. –

+0

Es ist kein Befehl, es ist eine Zeile für das Gemfile. Nach dem Hinzufügen müssen Sie 'bundle install' ausführen. Wenn Sie Bundler installiert haben und nur eine "Gem-Installation" durchführen, werden Sie zwei Versionen von Nokogiri installiert haben, aber das Projekt wird immer noch die alte verwenden. –

+1

Dies behebt das Problem, die gleiche Version wie Poster, Win10, Ruby 2.3.0p0. Können Sie erklären, was das Problem verursacht und was diese Zeile macht, um es zu beheben? – dotps1

2

Verwendung bundle update nokogiri, aber auch Ruby-Version ruby -v

+0

'ruby -v':' ruby ​​2.3.0p0 (2015-12-25 revision 53290) [x64-mingw32] ' ' bundle update nokogiri': 'Dieses Bundle wurde noch nicht installiert. Run 'Bundle Install' zu aktualisieren und installieren Sie die gebündelten Edelsteine.' –

-1

ich, wie Sie hatte das gleiche Problem überprüfen. Unter Windows müssen Sie einen zusätzlichen Schritt ausführen:

http://www.nokogiri.org/tutorials/installing_nokogiri.html

+0

Ja, das ist, wie ich die ersten 'Nokogiri's bekam, aber ich brauche 1.6.7.2 speziell dafür, dass es funktioniert. In diesem Fall tritt derselbe Fehler auf, wenn ich den Edelstein verwende. –

0

ich vor kurzem in das gleiche Problem lief Schienen auf Fenster mit Ruby-v2.4.1 Ich fand die Installation, dass das Entfernen der gemfile Linie:

gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 

dann läuftbundle update

dann die Tzinfo-Datenleitung zurück in die gemfile setzen

Ich könnte dann Bundle ohne irgendein Problem laufen. Alles funktioniert wieder gut.

0

Problem in Done gelöst. Nokogiri 1.8.0.