установка пакета возвращает «Не удалось найти Gemfile»

102

Я новичок в Rails и сейчас работаю над руководством. В руководстве говорится:

Используйте текстовый редактор, чтобы обновить Gemfile, необходимый Bundler, с содержимым листинга 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

Затем мы устанавливаем и включаем драгоценные камни с помощью bundle install команды:

    $ bundle install --without production 

Если Bundler жалуется, no such file to load -- readline (LoadError)попробуйте добавить gem ’rb-readline’в свой Gemfile.)

Я выполнил шаги, даже добавив gem 'rb-readline'к Gemfile, но, очевидно, файл не может быть найден, и когда я перехожу в свой текстовый редактор, я вижу Gemfileсам. Я заметил, что они заставили меня поставить gem 'rails', 3.2.3и моя версия Rails - 3.2.1, поэтому я попытался изменить ее на 3.2.1, но это тоже не сработало.

Будем очень признательны за любые мысли или советы.

levelone
источник
1
почему вы помещаете - - символы в список Gemfile?
MikDiet
нет-нет, я просто поместил это туда, чтобы вам было удобнее читать, так как я еще не могу использовать изображения ... Я использую возвышенный текстовый редактор только для вашей информации.
levelone
2
Я нашел решение проблемы ... Я полагаю, что "$ cd demo_app", а затем "$ install bundle" из этой папки. :)
levelone

Ответы:

244

Вам просто нужно сменить каталоги в своем приложении, ЗАТЕМ запустите bundle install:)

svoisen
источник
1
@svoisen,: D Google включает ваш ответ во фрагмент при поиске этой конкретной проблемы, кстати. Ура и спасибо от бессонного будущего!
Jaime
1
Кстати, вы можете найти каталог своего приложения с помощью whereis <app_name>команды, обычно Gemfile находится в / usr / shared / *
4gus71n 06
Приложение также может находиться в папке в / opt /
Мо Бейги
Просто добавьте зазор, который переместится в папку проекта, а не в папку bin проекта :)
20

Вы также можете указать путь к гем-файлу в той же команде, например

BUNDLE_GEMFILE="MyProject/Gemfile.ios" bundle install
Houbena
источник
2
Прекрасный ответ. Потому что в моей ситуации я не могу получить команду пакета доступа везде. [root@alc bin]# BUNDLE_GEMFILE="../../apps/redmine/htdocs/Gemfile" ./bundle installмоя команда выполнить.
uzay95
1
По какой-то причине у меня возникла эта проблема, когда я копировал Gemfile в контейнер докеров, я не мог найти .bundle, и я установил свой WOKRDIR, но он, похоже, не ловил его для установки пакета, это помогло!
ConstantineK
17

У меня тоже была эта проблема на машине OSX. Я обнаружил, что рельсы не установлены ... что меня удивило, так как я думал, что OSX всегда идет с Rails. Установить рельсы

  • sudo gem install rails
  • для установки Джекилла мне также понадобилось sudo
  • sudo gem install jekyll bundler
  • cd ~/Sites
  • jekyll new <foldername>
  • cd <foldername> ИЛИ cd !$ (это магия;)
  • bundle install
  • bundle exec jekyll serve
  • Затем в вашем браузере просто перейдите на http://127.0.0.1:4000/, и он действительно должен работать
MAILO
источник
Избегайте использования sudoдля установки драгоценных камней. Это причинит вам боль. Подробнее: thinkbot.com/blog/psa-do-not-use-system-ruby
Дэвид Хемпи
13

Вы должны быть в том же каталоге Gemfile

Forzagreen
источник
7

Когда у меня была подобная проблема, gem update --systemмне помогли. Запустите это раньшеbundle install

Дзианис Яфимов
источник
2

У меня была эта проблема на Ubuntu 18.04. Я обновил самоцвет

  • sudo gem установить рельсы
  • sudo gem установить jekyll
  • sudo gem установить jekyll bundler
  • cd ~ / желаемая папка
  • Джекилл Нью
  • компакт-диск ИЛИ
  • пакет инициализации
  • установка пакета
  • связка добавить Джекилла
  • пакет exec jekyll serve

Все сработало и перейдите в свой браузер, просто перейдите на http://127.0.0.1:4000/, и он действительно должен работать

осмджит
источник
0

1 убедитесь, что файл Gemfileвместоgemfile .

2 убедитесь, что вы находитесь в том же каталоге, что и Gemfile.

Адам Аллалу
источник
-1

Найдите файл Gemfile в своем проекте, перейдите в этот каталог и запустите "bundle install". перед запуском этой команды убедитесь, что вы установили гем "sudo gem install bundler"

Анант Агарвал
источник
он выполнил «установку пакета», я не понимаю вашего ответа
Гар
-11

Подумайте больше о том, что вы устанавливаете, и перейдите в папку Gemfile, затем попробуйте использовать sudo bundle install

Cookie-файлы
источник
3
вам никогда не следует запускать пакет с sudo
tasomaniac