Tidak dapat menemukan Gemfile

142

Saya jelas bukan pengembang Ruby tetapi saya memiliki aplikasi di server saya yang menggunakan Ruby, Gems, dan Bundler. Saya mencoba menginstal Ruby lain di bawah akun pengguna yang berbeda tetapi di VPS yang sama. Saat aku pergi lari

bundle install

Saya mendapatkan kesalahan berikut:

Tidak dapat menemukan Gemfile

Saya dapat menghapus konten direktori ./bundle sehingga semua Permata diambil ulang untuk menghapus kesalahan, tetapi apakah ini akan berdampak pada aplikasi saya yang lain yang menggunakan Permata dan Bundler yang sama? Saya tidak ingin mengambil risiko menghapus aplikasi lain.

Ian
sumber

Jawaban:

166

Anda tidak memiliki Gemfiledirektori tempat Anda menjalankan perintah itu. Gemfileadalah file yang berisi gempengaturan Anda untuk program saat ini.

Joni
sumber
2
Terima kasih. Sesuatu yang sederhana ini. Saya baru saja mengalami masalah karena saya harus masuk sebagai pengguna admin untuk menjalankan perintah tetapi gemfile berada di direktori di bawah pengguna yang berbeda. Saya berhasil memilahnya. Terima kasih!
Ian
1
ya, Anda benar, jika Anda menggunakan perintah ini untuk menginstal redmine, Anda harus 'cd [redmine-directory]' lalu jalankan perintah itu.
Tim Wong
81

Pastikan Anda berada di direktori proyek sebelum menjalankan bundle install. Misalnya, setelah berlari rails new myproject, Anda pasti ingin cd myprojectsebelum berlari bundle install.

bluesman333
sumber
1
Ya, ini memang masalahnya dan saya berhasil menyelesaikannya pada akhirnya. Terima kasih atas bantuan Anda.
Ian
6

Saya memiliki masalah yang sama dan menyelesaikannya dengan menggunakan direktori yang berbeda.

bash-4.2 $ pemasangan bundel
Tidak dapat menemukan Gemfile
bash-4.2 $ pwd
/home/amit/redmine/redmine-2.2.2-0/apps/redmine
bash-4.2 $ cd htdocs /
bash-4.2 $ ls
konfigurasi aplikasi db plugin lib Gemfile ekstra Rakefile script tmp
bin config.ru file doc Gemfile.lock log vendor uji README.rdoc publik
bash-4.2 $ cd plugin /
bash-4.2 $ pemasangan bundel
Menggunakan rake (0.9.2.2) 
Menggunakan i18n (0.6.0) 
Menggunakan multi_json (1.3.6) 
Menggunakan dukungan aktif (3.2.11) 
Menggunakan pembangun (3.0.0) 
Menggunakan activemodel (3.2.11) 
Menggunakan erubis (2.7.0) 
Menggunakan perjalanan (1.0.4) 
Menggunakan rak (1.4.1) 
Menggunakan rack-cache (1.2) 
Menggunakan rack-test (0.6.1) 
Menggunakan mendaki (1.2.1) 
Menggunakan kemiringan (1.3.3) 
Menggunakan sprocket (2.2.1) 
Menggunakan actionpack (3.2.11) 
Menggunakan tipe pantomim (1.19) 
Menggunakan poliglot (0.3.3) 
Menggunakan treetop (1.4.10) 
Menggunakan email (2.4.4) 
Menggunakan actionmailer (3.2.11) 
Menggunakan arel (3.0.2) 
Menggunakan tzinfo (0.3.33) 
Menggunakan activerecord (3.2.11) 
Menggunakan activeresource (3.2.11) 
Menggunakan coderay (1.0.6) 
Menggunakan rack-ssl (1.3.2) 
Menggunakan json (1.7.5) 
Menggunakan rdoc (3.12) 
Menggunakan thor (0.15.4) 
Menggunakan railties (3.2.11) 
Menggunakan jquery-rails (2.0.3) 
Menggunakan mysql2 (0.3.11) 
Menggunakan net-ldap (0.3.1) 
Menggunakan ruby-openid (2.1.8) 
Menggunakan rack-openid (1.3.1) 
Menggunakan bundler (1.2.3) 
Menggunakan rel (3.2.11) 
Menggunakan rmagick (2.13.1) 
Bundel Anda i
Amit Gupta
sumber
3

Saya memecahkan masalah serupa hanya dengan mundur dari direktori proyek, lalu cd kembali ke direktori proyek dan bundel instal.

Dennis Keefe
sumber
1

Ini sesuatu yang bisa Anda coba.

Tambahkan ini ke file konfigurasi apa pun yang Anda gunakan untuk menjalankan aplikasi Anda.

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

Rails dan aplikasi berbasis Rack lainnya menggunakan skema ini. Terkadang Anda mencoba menjalankan hal-hal yang beberapa direktori lebih dalam dari pada root Anda tempat Gemfile biasanya berada. Tentu saja Anda telah memecahkan masalah ini untuk saat ini, tetapi terkadang kita semua mendapat masalah dengan menemukan Gemfile ini. Saya terkadang suka ketika Anda dapat memiliki semua permata Anda di direktori .bundle juga. Tidak ada salahnya menyimpan alamat situs ini di bawah bantal Anda. http://bundler.io/

Douglas G. Allen
sumber
0

Sangat sederhana. ketika dikatakan 'Tidak dapat menemukan Gemfile' itu berarti di folder tempat Anda saat ini berada atau direktori tempat Anda berada, tidak ada file bernama GemFile. Oleh karena itu, di command prompt Anda berikan jalur eksplisit atau lengkap dari folder di sana di mana nama file "Gemfile" adalah misalnya cd C: \ Users \ Administrator \ Desktop \ RubyProject \ demo.

Ini pasti akan diselesaikan dalam satu menit.

Titus H.
sumber