Не вдалося знайти Gemfile


138

Я, звичайно, не розробник Ruby, але у мене є додаток на моєму сервері з використанням Ruby, Gems та Bundler. Я намагаюся встановити інший Ruby на інший обліковий запис користувача, але на той же VPS. Коли я йду бігати

bundle install

Я отримую таку помилку:

Не вдалося знайти Gemfile

Я міг би видалити вміст каталогу ./bundle, щоб усі Gems були повторно отримані, щоб очистити помилку, але чи вплине це на мою іншу програму, використовуючи ті самі Gems та Bundler? Я не хочу ризикувати зняття іншого додатка.

Відповіді:


162

У вас немає Gemfileв каталозі, де ви виконуєте цю команду. Gemfileце файл, що містить ваші gemналаштування для поточної програми.


2
Дякую. Це було щось таке просте. У мене просто з’явилася проблема, оскільки мені довелося увійти як користувач адміністратора, щоб запустити команду, але gemfile знаходився в каталозі іншого користувача. Мені вдалося розібратися. Дякую!
Ян

1
так, ви маєте рацію, якщо ви використовуєте цю команду для встановлення redmine, вам слід "cd [redmine-directory]", а потім виконати цю команду.
Тім Вонг

80

Переконайтеся, що ви перебуваєте в каталозі проектів перед запуском bundle install. Наприклад, після запуску rails new myprojectвам потрібно буде cd myprojectдо запуску bundle install.


Так, це справді була проблема, і мені вдалося розібратися в підсумку. Спасибі за вашу допомогу.
Ян

6

У мене була та сама проблема, і я її вирішив, використовуючи інший каталог.

Встановити пакет bash-4.2 $
Не вдалося знайти Gemfile
bash-4,2 $ pwd
/home/amit/redmine/redmine-2.2.2-0/apps/redmine
bash-4.2 $ cd htdocs /
bash-4,2 $ ls
додатки config db додаткові додатки для Gemfile lib Rakefile script tmp
bin config.ru doc ​​файли журналу Gemfile.lock журналу громадського постачальника тестів README.rdoc
bash-4.2 $ cd плагіни /
Встановити пакет bash-4.2 $
Використання граблів (0.9.2.2) 
Використання i18n (0.6.0) 
Використання multi_json (1.3.6) 
Використання активної підтримки (3.2.11) 
Використання конструктора (3.0.0) 
Використання активної моделі (3.2.11) 
Використання ерубісу (2.7.0) 
Використання подорожі (1.0.4) 
Використання стійки (1.4.1) 
Використання стійки-кешу (1.2) 
Використання стійки-тесту (0.6.1) 
Використання походу (1.2.1) 
Використання нахилу (1.3.3) 
Використання зірочок (2.2.1) 
Використання пакету дій (3.2.11) 
Використання mime-типів (1.19) 
Використання поліглота (0.3.3) 
Використання верхівки дерева (1.4.10) 
Використання пошти (2.4.4) 
Використання діямейлера дій (3.2.11) 
Використання arel (3.0.2) 
Використання tzinfo (0.3.33) 
Використання activerecord (3.2.11) 
Використання activeresource (3.2.11) 
Використання кодового масиву (1.0.6) 
Використання rack-ssl (1.3.2) 
Використання json (1.7.5) 
Використання rdoc (3.12) 
Використання Thor (0.15.4) 
Використання залізниць (3.2.11) 
Використання jquery-rails (2.0.3) 
Використання mysql2 (0.3.11) 
Використання net-ldap (0.3.1) 
Використання рубіно-відкритого (2.1.8) 
Використання стійки-відкриття (1.3.1) 
Використання пакету (1.2.3) 
Використання рейок (3.2.11) 
Використання rmagick (2.13.1) 
Ваш пучок i

3

Я вирішив подібну проблему, просто відключившись із каталогу проектів, потім повернувшись до каталогу проектів та встановивши пакет.


1

Ось щось ви могли б спробувати.

Додайте це до будь-яких конфігураційних файлів, які використовуєте для запуску програми.

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

Рейки та інші додатки на основі Rack використовують цю схему. Іноді трапляється, що ви намагаєтеся запускати речі, які є деякими каталогами глибше вашого кореня, де зазвичай знаходиться ваш Gemfile. Звичайно, ви вирішили цю проблему наразі, але періодично ми всі стикаємося з цим пошуком Gemfile. Мені іноді подобається, коли ти можеш також мати всі потрібні дорогоцінні камені у каталозі .bundle. Ніколи не зашкодить тримати адресу цього веб-сайту під подушкою. http://bundler.io/


0

Дуже просто. коли він говорить "Не вдалося знайти Gemfile", це означає, що в папці, в якій ви зараз перебуваєте, або в каталозі, в якому ви перебуваєте, немає файлу з іменем GemFile. Тому в командному рядку введіть явний або повний шлях до папки там, де таке ім'я файлу "Gemfile" є, наприклад, cd C: \ Users \ Administrator \ Desktop \ RubyProject \ demo.

Це обов'язково вирішиться за хвилину.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.