bó cài đặt trả về "Không thể định vị Gemfile"


102

Tôi mới sử dụng Rails và hiện đang làm việc với một hướng dẫn. Hướng dẫn nêu rõ:

Sử dụng trình soạn thảo văn bản để cập nhật Gemfile mà Bundler cần với nội dung của Liệt kê 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

Sau đó, chúng tôi cài đặt và bao gồm các đá quý bằng cách sử dụng bundle install lệnh:

    $ bundle install --without production 

Nếu Bundler phàn nàn về việc no such file to load -- readline (LoadError)hãy thử thêm gem ’rb-readline’vào Gemfile của bạn.)

Tôi làm theo các bước thậm chí thêm vào gem 'rb-readline'cho Gemfile, nhưng dường như các tập tin không thể được tìm thấy và khi tôi đi đến soạn thảo văn bản của tôi Tôi thấy Gemfilebản thân. Tôi nhận thấy rằng họ đã bắt tôi đặt gem 'rails', 3.2.3và phiên bản Rails của tôi là 3.2.1 vì vậy tôi đã thử thay đổi nó thành 3.2.1 nhưng điều đó cũng không hoạt động.

Bất kỳ suy nghĩ hoặc lời khuyên sẽ được đánh giá cao.


1
tại sao bạn đặt - - ký tự trong danh sách Gemfile?
MikDiet

không không, tôi chỉ đặt nó ở đó để nó dễ đọc hơn cho các bạn, vì tôi chưa thể sử dụng hình ảnh .. tôi sử dụng trình soạn thảo văn bản siêu phàm chỉ cho thông tin của bạn.
levelone

2
tôi đã tìm thấy giải pháp cho vấn đề .. tôi giả sử là "$ cd demo_app" và sau đó là "$ install gói" từ vị trí thư mục đó. :)
levelone

Câu trả lời:


244

Bạn chỉ cần thay đổi các thư mục thành ứng dụng của mình, SAU ĐÓ chạy bundle install:)


1
@svoisen,: D Google đưa câu trả lời của bạn vào đoạn mã khi tìm kiếm vấn đề cụ thể này, btw. Chúc mừng và cảm ơn từ tương lai thiếu ngủ!
Jaime

1
BTW bạn có thể tìm thấy thư mục ứng dụng của bạn bằng cách sử dụng các whereis <app_name>lệnh, ussualy các Gemfile là dưới / usr / chia sẻ / *
4gus71n

Ứng dụng cũng có thể nằm trong một thư mục trong / opt /
Mo Beigi

Chỉ cần thêm một số giải phóng mặt bằng mà di chuyển đến thư mục dự án, không phải là 'bin' thư mục của dự án :)

20

Bạn cũng có thể chỉ ra đường dẫn đến tệp gem trong cùng một lệnh, ví dụ:

BUNDLE_GEMFILE="MyProject/Gemfile.ios" bundle install

2
Câu trả lời hoàn hảo. Vì trong tình huống của tôi, tôi không thể nhận lệnh gói truy cập ở mọi nơi. [root@alc bin]# BUNDLE_GEMFILE="../../apps/redmine/htdocs/Gemfile" ./bundle installlà lệnh của tôi để thực hiện.
uzay95

Vì lý do nào đó, tôi gặp sự cố này khi sao chép Gemfile vào vùng chứa docker, tôi không thể tìm thấy .bundle và tôi đã đặt WOKRDIR nhưng dường như nó không bắt được nó để cài đặt theo gói, điều này đã thực hiện được một mẹo nhỏ!
ConstantineK

17

Tôi cũng gặp sự cố này trên máy OSX. Tôi phát hiện ra rằng các đường ray chưa được cài đặt ... điều này làm tôi ngạc nhiên vì tôi nghĩ OSX luôn đi kèm với Rails. Để cài đặt đường ray

  • sudo gem install rails
  • để cài đặt jekyll tôi cũng cần sudo
  • sudo gem install jekyll bundler
  • cd ~/Sites
  • jekyll new <foldername>
  • cd <foldername> HOẶC cd !$ (đó là phép thuật;)
  • bundle install
  • bundle exec jekyll serve
  • Sau đó, trong trình duyệt của bạn, chỉ cần truy cập http://127.0.0.1:4000/ và nó thực sự sẽ chạy

Tránh sử dụng sudođể cài đặt đá quý. Điều này sẽ khiến bạn đau đớn. Đọc thêm: thoughtbot.com/blog/psa-do-not-use-system-ruby
David Hempy


7

Khi tôi gặp vấn đề tương tự gem update --systemđã giúp tôi. Chạy trướcbundle install


2

Tôi gặp sự cố này trên Ubuntu 18.04. Tôi đã cập nhật đá quý

  • sudo gem install rails
  • sudo gem install jekyll
  • sudo gem install jekyll Bundler
  • cd ~ / wishFolder
  • jekyll mới
  • cd HOẶC
  • bó init
  • gói cài đặt
  • gói thêm jekyll
  • gói thực thi jekyll phục vụ

Tất cả đều hoạt động và truy cập trình duyệt của bạn chỉ cần truy cập http://127.0.0.1:4000/ và nó thực sự sẽ chạy


0

1 đảm bảo rằng tệp Gemfilethay vì gemfile.

2 đảm bảo rằng bạn đang ở trong cùng một thư mục với Gemfile.


-1

Tìm kiếm tệp Gemfile trong dự án của bạn, đi đến thư mục đó và sau đó chạy "cài đặt gói". trước khi chạy lệnh này, hãy đảm bảo rằng bạn đã cài đặt gem "sudo gem install Bundler"


ông đã làm một "bó cài đặt", tôi không hiểu câu trả lời của bạn
Gar

-10

Suy nghĩ thêm về những gì bạn đang cài đặt và điều hướng thư mục Gemfile, sau đó thử sử dụng sudo bundle install


2
bạn không bao giờ nên chạy bó với sudo
tasomaniac
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.