2010-07-25 6 views
104

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

bundle install 

Я получаю следующее сообщение об ошибке:

Could not locate Gemfile

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

ответ

134

У вас нет Gemfile в каталоге, в котором вы выполняете эту команду. Gemfile - это файл с вашими gem настройками для текущей версии.

+2

Спасибо. Это было так просто. У меня просто была проблема, потому что я должен был войти в систему как пользователь admin для запуска команды, но gemfile находился в каталоге под другим пользователем. Мне удалось его отсортировать. Благодаря! – Ian

+1

Да, вы правы, если вы используете эту команду для установки redmine, вы должны «cd [redmine-directory]» выполнить эту команду. –

68

Перед запуском bundle install убедитесь, что вы находитесь в каталоге проекта. Например, после запуска rails new myproject вам нужно будет cd myproject перед запуском bundle install.

+0

Да, это была действительно проблема, и мне удалось разобраться в этом. Спасибо за вашу помощь. – Ian

5

У меня была такая же проблема, и я решил ее решить, используя другой каталог.

 
bash-4.2$ bundle install 
Could not locate Gemfile 
bash-4.2$ pwd 
/home/amit/redmine/redmine-2.2.2-0/apps/redmine 
bash-4.2$ cd htdocs/ 
bash-4.2$ ls 
app config db extra Gemfile lib plugins Rakefile  script tmp 
bin config.ru doc files Gemfile.lock log public README.rdoc test vendor 
bash-4.2$ cd plugins/ 
bash-4.2$ bundle install 
Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.3.6) 
Using activesupport (3.2.11) 
Using builder (3.0.0) 
Using activemodel (3.2.11) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.1) 
Using rack-cache (1.2) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.2.1) 
Using actionpack (3.2.11) 
Using mime-types (1.19) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Using mail (2.4.4) 
Using actionmailer (3.2.11) 
Using arel (3.0.2) 
Using tzinfo (0.3.33) 
Using activerecord (3.2.11) 
Using activeresource (3.2.11) 
Using coderay (1.0.6) 
Using rack-ssl (1.3.2) 
Using json (1.7.5) 
Using rdoc (3.12) 
Using thor (0.15.4) 
Using railties (3.2.11) 
Using jquery-rails (2.0.3) 
Using mysql2 (0.3.11) 
Using net-ldap (0.3.1) 
Using ruby-openid (2.1.8) 
Using rack-openid (1.3.1) 
Using bundler (1.2.3) 
Using rails (3.2.11) 
Using rmagick (2.13.1) 
Your bundle i 
3

Я решил подобную проблему только путем поддержки из директории проекта, а затем компакт-диск обратно в папку проекта и перевяжите установки.

+0

Странно, но это то, что сработало и для меня: p – nanosoft

-1

Очень простой. когда он говорит: «Не удалось найти Gemfile», это означает, что в папке, в которой вы сейчас находитесь, или в каталоге, в котором вы находитесь, нет файла с именем GemFile. Поэтому в командной строке укажите явный или полный путь к папке там, где такое имя файла «Gemfile» является, например, cd C: \ Users \ Administrator \ Desktop \ RubyProject \ demo.

Это определенно будет разрешено через минуту.

0

Здесь вы можете попробовать.

Добавьте это в любые файлы конфигурации, которые вы используете для запуска своего приложения.

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

Рельсы и другие приложения на стойке используют эту схему. Иногда бывает, что вы пытаетесь запустить вещи, которые являются некоторыми каталогами глубже вашего корня, где обычно находится ваш Gemfile. Конечно, вы решили эту проблему на данный момент, но изредка у нас все проблемы с этим обнаружением Gemfile. Мне иногда нравится, когда у вас есть все камни в каталоге .bundle. Никогда не больно держать этот адрес сайта под подушкой. http://bundler.io/

Смежные вопросы