การติดตั้งบันเดิลส่งคืน "ไม่พบ Gemfile"


103

ฉันเพิ่งเริ่มใช้ Rails และกำลังทำงานกับไกด์ คู่มือระบุ:

ใช้โปรแกรมแก้ไขข้อความเพื่ออัปเดต Gemfile ที่ Bundler ต้องการด้วยเนื้อหาของ Listing 2.1

source 'https://rubygems.org'

gem 'rails', '3.2.3'

group :development do
  gem 'sqlite3', '1.3.5'
end


# Gems used only for assets and not required
# in production environments by default.

group :assets do
  gem 'sass-rails',   '3.2.4'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.0'

group :production do
  gem 'pg', '0.12.2'
end

จากนั้นเราจะติดตั้งและรวมอัญมณีโดยใช้bundle install คำสั่ง:

    $ bundle install --without production 

หาก Bundler ร้องเรียนเกี่ยวกับการno such file to load -- readline (LoadError)ลองเพิ่มgem ’rb-readline’Gemfile ของคุณ)

ฉันทำตามขั้นตอนแม้จะเพิ่มgem 'rb-readline'ไปยังGemfileไฟล์ แต่ดูเหมือนว่าจะไม่พบไฟล์และเมื่อฉันไปที่โปรแกรมแก้ไขข้อความฉันก็เห็นGemfileตัวมันเอง ฉันสังเกตเห็นว่าพวกเขาทำให้ฉันใส่gem 'rails', 3.2.3และ Rails เวอร์ชันของฉันคือ 3.2.1 ดังนั้นฉันจึงลองเปลี่ยนเป็น 3.2.1 แต่ก็ไม่ได้ผลเช่นกัน

ความคิดเห็นหรือคำแนะนำใด ๆ จะได้รับการชื่นชมมาก


1
ทำไมคุณถึงใส่- - ตัวอักษรในรายการ Gemfile
MikDiet

ไม่ไม่ฉันใส่แค่นั้นเพื่อให้พวกคุณอ่านได้ง่ายขึ้นเนื่องจากฉันยังใช้รูปภาพไม่ได้ฉันใช้โปรแกรมแก้ไขข้อความประเสริฐสำหรับข้อมูลของคุณเท่านั้น
levelone

2
ฉันพบวิธีแก้ปัญหา .. ฉันสมมติว่า "$ cd demo_app" แล้ว "$ install bundle" จากตำแหน่งโฟลเดอร์นั้น :)
levelone

นี้แก้ไขได้สำหรับฉัน: jekyllrb.com/docs
Gabriel Staples

คำตอบ:


246

คุณเพียงแค่ต้องเปลี่ยนไดเรกทอรีไปยังแอปของคุณแล้วรันbundle install:)


1
@svoisen,: D Google รวมคำตอบของคุณไว้ในตัวอย่างข้อมูลเมื่อค้นหาปัญหานี้โดยเฉพาะ btw ไชโยและขอบคุณจากอนาคตที่อดนอน!
ไจ

1
BTW คุณสามารถค้นหาไดเรกทอรีแอปของคุณโดยใช้whereis <app_name>คำสั่งโดยปกติ Gemfile อยู่ภายใต้ / usr / shared / *
4gus71n

แอพอาจอยู่ในโฟลเดอร์ใน / opt /
Mo Beigi

เพียงเพิ่มการกวาดล้างบางส่วนที่ย้ายไปยังโฟลเดอร์โครงการไม่ใช่โฟลเดอร์ 'bin' ของโครงการ :)

20

คุณอาจระบุเส้นทางไปยัง gemfile ด้วยคำสั่งเดียวกันเช่น

BUNDLE_GEMFILE="MyProject/Gemfile.ios" bundle install

2
คำตอบที่สมบูรณ์แบบ เนื่องจากในสถานการณ์ของฉันฉันไม่สามารถรับคำสั่ง access bundle ได้ในทุกที่ [root@alc bin]# BUNDLE_GEMFILE="../../apps/redmine/htdocs/Gemfile" ./bundle installเป็นคำสั่งของฉันในการดำเนินการ
uzay95

1
ด้วยเหตุผลบางอย่างที่ฉันประสบปัญหานี้เมื่อฉันคัดลอก Gemfile ไปยังคอนเทนเนอร์นักเทียบท่าฉันไม่พบ. Bundle และฉันได้ตั้งค่า WOKRDIR ของฉันแล้ว แต่ดูเหมือนว่าจะจับมันไม่ได้สำหรับการติดตั้งบันเดิลนี่เป็นเคล็ดลับ!
ConstantineK

18

ฉันมีปัญหานี้เช่นกันในเครื่อง OSX ฉันพบว่าไม่ได้ติดตั้งราง ... ซึ่งทำให้ฉันประหลาดใจเพราะฉันคิดว่า OSX มาพร้อมกับ Rails เสมอ ในการติดตั้งราง

  • sudo gem install rails
  • ในการติดตั้ง jekyll ฉันต้องการ sudo ด้วย
  • sudo gem install jekyll bundler
  • cd ~/Sites
  • jekyll new <foldername>
  • cd <foldername> หรือ cd !$ (นั่นคือเวทมนตร์)
  • bundle install
  • bundle exec jekyll serve
  • จากนั้นในเบราว์เซอร์ของคุณเพียงไปที่ http://127.0.0.1:4000/ และมันควรจะทำงานจริงๆ

หลีกเลี่ยงการใช้sudoเพื่อติดตั้งอัญมณี สิ่งนี้จะทำให้คุณเจ็บปวด อ่านเพิ่มเติม: thoughtbot.com/blog/psa-do-not-use-system-ruby
David Hempy


7

เมื่อฉันมีปัญหาที่คล้ายกันgem update --systemช่วยฉัน เรียกใช้ก่อนหน้านี้bundle install


3

ฉันมีปัญหานี้บน Ubuntu 18.04 ฉันอัปเดตอัญมณีแล้ว

sudo gem install rails
sudo gem install jekyll
sudo gem install jekyll bundler
cd ~/desiredFolder
jekyll new <foldername>
cd <foldername> OR 
bundle init
bundle install
bundle add jekyll
bundle exec jekyll serve

ทั้งหมดใช้งานได้และไปที่เบราว์เซอร์ของคุณเพียงแค่ไปที่ http://127.0.0.1:4000/และมันควรจะทำงานจริงๆ


0

1 ตรวจสอบให้แน่ใจว่าไฟล์นั้นถูกGemfileแทนที่ด้วยgemfileด้วย.

2 ตรวจสอบให้แน่ใจว่าคุณอยู่ในไดเร็กทอรีเดียวกันกับไฟล์Gemfile.


-1

ค้นหาไฟล์ Gemfile ในโปรเจ็กต์ของคุณไปที่ไดเร็กทอรีนั้นแล้วเรียกใช้ "bundle install" ก่อนที่จะรันคำสั่งนี้ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง gem "sudo gem install bundler" แล้ว


เขา "ติดตั้งบันเดิล" ฉันไม่เข้าใจคำตอบของคุณ
การ์

-12

คิดถึงสิ่งที่คุณกำลังติดตั้งและไปที่โฟลเดอร์ Gemfile จากนั้นลองใช้ sudo bundle install


3
คุณไม่ควรรันบันเดิลด้วย sudo
tasomaniac
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.