Không thể xác định vị trí Gemfile


138

Tôi chắc chắn không có nhà phát triển Ruby nhưng tôi có một ứng dụng trên máy chủ của mình bằng Ruby, Gems và Bundler. Tôi đang cố gắng cài đặt một Ruby khác trên một tài khoản người dùng khác nhưng trên cùng một VPS. Khi tôi đi chạy

bundle install

Tôi nhận được lỗi sau đây:

Không thể xác định vị trí Gemfile

Tôi có thể xóa nội dung của thư mục ./bundle để tất cả các viên Đá quý được tìm nạp lại để xóa lỗi nhưng điều này có ảnh hưởng đến ứng dụng khác của tôi khi sử dụng cùng Đá quý và Bundler không? Tôi không muốn mạo hiểm gỡ ứng dụng khác xuống.

Câu trả lời:


162

Bạn không có Gemfiletrong một thư mục nơi bạn chạy lệnh đó. Gemfilelà một tệp chứa các gemcài đặt của bạn cho một chương trình hiện tại .


2
Cảm ơn. Đó là một cái gì đó đơn giản. Tôi vừa gặp sự cố vì tôi phải đăng nhập với tư cách người dùng quản trị để chạy lệnh nhưng gemfile nằm trong một thư mục dưới một người dùng khác. Tôi quản lý để có được nó sắp xếp. Cảm ơn!
Ian

1
vâng, bạn đã đúng, nếu bạn sử dụng lệnh này để cài đặt redmine, bạn nên 'cd [redmine-thư mục]' sau đó thực hiện lệnh đó.
Tim Wong

80

Hãy chắc chắn rằng bạn đang ở trong thư mục dự án trước khi chạy bundle install. Ví dụ, sau khi chạy rails new myproject, bạn sẽ muốn cd myprojecttrước khi chạy bundle install.


Vâng, đây thực sự là vấn đề và tôi đã xoay sở để giải quyết nó cuối cùng. Cảm ơn bạn đã giúp đỡ.
Ian

6

Tôi đã có cùng một vấn đề và đã giải quyết nó bằng cách sử dụng một thư mục khác.

cài đặt gói bash-4.2 $
Không thể xác định vị trí Gemfile
bash-4.2 $ pwd
/home/amit/redmine/redmine-2.2.2-0/apps/redmine
bash-4.2 $ cd htdocs /
bash-4.2 $ ls
ứng dụng cấu hình db thêm bổ trợ lib Gemfile Tập lệnh Rakefile tmp
bin config.ru doc ​​file Gemfile.lock log công khai Nhà cung cấp thử nghiệm README.rdoc
plugin bash-4.2 $ cd /
cài đặt gói bash-4.2 $
Sử dụng cào (0.9.2.2) 
Sử dụng i18n (0.6.0) 
Sử dụng multi_json (1.3.6) 
Sử dụng activesupport (3.2.11) 
Sử dụng trình xây dựng (3.0.0) 
Sử dụng activemodel (3.2.11) 
Sử dụng erubis (2.7.0) 
Sử dụng hành trình (1.0.4) 
Sử dụng giá đỡ (1.4.1) 
Sử dụng rack-cache (1.2) 
Sử dụng kiểm tra rack (0.6.1) 
Sử dụng tăng (1.2.1) 
Sử dụng độ nghiêng (1.3.3) 
Sử dụng con quay (2.2.1) 
Sử dụng gói hành động (3.2.11) 
Sử dụng loại mime (1.19) 
Sử dụng polyglot (0.3.3) 
Sử dụng ngọn cây (1.4.10) 
Sử dụng thư (2.4.4) 
Sử dụng Actionmailer (3.2.11) 
Sử dụng arel (3.0.2) 
Sử dụng tzinfo (0.3.33) 
Sử dụng Activerecord (3.2.11) 
Sử dụng Activeresource (3.2.11) 
Sử dụng mã hóa (1.0.6) 
Sử dụng rack-ssl (1.3.2) 
Sử dụng json (1.7.5) 
Sử dụng ndoc (3.12) 
Sử dụng thor (0.15.4) 
Sử dụng đường sắt (3.2.11) 
Sử dụng đường ray jquery (2.0.3) 
Sử dụng mysql2 (0.3.11) 
Sử dụng mạng ldap (0.3.1) 
Sử dụng ruby-openid (2.1.8) 
Sử dụng rack-openid (1.3.1) 
Sử dụng gói (1.2.3) 
Sử dụng đường ray (3.2.11) 
Sử dụng rmagick (2.13.1) 
Gói của bạn tôi

3

Tôi đã giải quyết vấn đề tương tự chỉ bằng cách sao lưu thư mục dự án, sau đó cd trở lại thư mục dự án và cài đặt gói.


1

Đây là một cái gì đó bạn có thể thử.

Thêm phần này vào bất kỳ tệp cấu hình nào bạn sử dụng để chạy ứng dụng của mình.

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
require 'bundler/setup' # Set up gems listed in the Gemfile.
Bundler.require(:default)

Rails và các ứng dụng dựa trên Rack khác sử dụng chương trình này. Đôi khi điều này xảy ra khi bạn đang cố chạy những thứ nằm sâu hơn thư mục gốc của bạn nơi Gemfile của bạn thường nằm. Tất nhiên bạn đã giải quyết vấn đề này ngay bây giờ nhưng đôi khi tất cả chúng ta đều gặp rắc rối với việc tìm kiếm Gemfile này. Tôi đôi khi thích khi bạn có thể có tất cả các bạn đá quý trong thư mục .bundle. Không bao giờ đau đớn để giữ địa chỉ trang web này dưới gối của bạn. http://bundler.io/


0

Rất đơn giản. khi thông báo 'Không thể định vị Gemfile', điều đó có nghĩa là trong thư mục bạn hiện đang ở hoặc thư mục bạn đang ở, không có tệp nào có tên GemFile. Do đó, trong dấu nhắc lệnh của bạn đưa ra một đường dẫn rõ ràng hoặc đầy đủ của thư mục there trong đó tên tệp "Gemfile" là ví dụ cd C: \ Users \ Administrator \ Desktop \ RubyProject \ demo.

Nó chắc chắn sẽ được giải quyết trong một phút.

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.