[Ruby] Der Edelstein sollte in Vendor / Bundle installiert sein, aber in require tritt ein Fehler auf.

Hintergrund

Ich wollte etwas über das Schaben lernen, Implementiert unter Bezugnahme auf Erstellen der Scraping-Quelle in 20 Minuten mit Ruby. Da heißt es "Gem sollte unter Hersteller / Bundle installiert werden." Die Option "--path vendor / bundle" wurde hinzugefügt, wenn die Bundle-Installation wie angewiesen durchgeführt wird.

Ein Fehler ist aufgetreten

Wenn Sie den Code wie im Artikel in main.rb schreiben und main.rb ausführen,

training $ ruby main.rb 
Traceback (most recent call last):
	2: from main.rb:2:in `<main>'
	1: from /Users/yusaku/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Users/yusaku/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- nokogiri (LoadError)

Es heißt "erfordern": kann solche Datei nicht laden --nokogiri (LoadError) ", nokogiri hat ein Bundle unter "vender / bundle" installiert.

training $ ls vendor/bundle/ruby/2.6.0/gems/
byebug-11.1.3		method_source-1.0.0	nokogiri-1.10.10	pry-byebug-3.9.0
coderay-1.1.3		mini_portile2-2.4.0	pry-0.13.1

Lösung

Wenn Sie sich den Inhalt des Fehlers genau ansehen, Es sieht so aus, als ob Sie nach einem Untergebenen suchen, der / Users / yusaku / .rbenv / untergeordnet ist. Ich war überrascht, aber ich habe kein Bundle Exec gemacht.

training $ bundle exec ruby main.rb

Jetzt konnte ich main.rb fehlerfrei ausführen (ich konnte auch "nokogiri" benötigen). Wenn Sie "bundle exec" ausführen, haben sie anscheinend im selben Verzeichnis nach dem Edelstein gesucht.

Recommended Posts

[Ruby] Der Edelstein sollte in Vendor / Bundle installiert sein, aber in require tritt ein Fehler auf.
Es sollte mit dem Beispiel identisch sein, wenn Sie sich bei Twitter anmelden, es tritt jedoch ein Fehler auf, bis die Lösung behoben ist
Ich kann das Paket nicht importieren, das auf Anaconda installiert sein sollte
Ein Fehler tritt auf, wenn codedeploy-agent in Ubuntu Server 20.04 installiert ist
Ich sehe keinen Fehler bei der Installation des Rails-Bundles ... der Lösung
Wenn die JDK-Version in Eclipse korrekt ist, aber ein Fehler auftritt oder der Compiler nicht ordnungsgemäß funktioniert
Repository Das angegebene Juwel ist im Bundle installiert, aber nicht auf die neueste Version aktualisiert
Passen Sie die Anzeige an, wenn im Spring Boot ein Fehler wie 404 Not Found auftritt