Зависает RoR ‘новая’ команда

#ruby-on-rails #ruby

#ruby-on-rails #ruby

Вопрос:

Я только начинаю ruby on rails. В терминале я ввел «rails new TestApp», и это то, что происходит в терминале:

   create  
  create  README
  create  Rakefile
  create  config.ru
  create  .gitignore
  create  Gemfile
  create  app
  create  app/assets/images/rails.png
  create  app/assets/javascripts/application.js
  create  app/assets/stylesheets/application.css
  create  app/controllers/application_controller.rb
  create  app/helpers/application_helper.rb
  create  app/mailers
  create  app/models
  create  app/views/layouts/application.html.erb
  create  app/mailers/.gitkeep
  create  app/models/.gitkeep
  create  config
  create  config/routes.rb
  create  config/application.rb
  create  config/environment.rb
  create  config/environments
  create  config/environments/development.rb
  create  config/environments/production.rb
  create  config/environments/test.rb
  create  config/initializers
  create  config/initializers/backtrace_silencers.rb
  create  config/initializers/inflections.rb
  create  config/initializers/mime_types.rb
  create  config/initializers/secret_token.rb
  create  config/initializers/session_store.rb
  create  config/initializers/wrap_parameters.rb
  create  config/locales
  create  config/locales/en.yml
  create  config/boot.rb
  create  config/database.yml
  create  db
  create  db/seeds.rb
  create  doc
  create  doc/README_FOR_APP
  create  lib
  create  lib/tasks
  create  lib/tasks/.gitkeep
  create  lib/assets
  create  lib/assets/.gitkeep
  create  log
  create  log/.gitkeep
  create  public
  create  public/404.html
  create  public/422.html
  create  public/500.html
  create  public/favicon.ico
  create  public/index.html
  create  public/robots.txt
  create  script
  create  script/rails
  create  test/fixtures
  create  test/fixtures/.gitkeep
  create  test/functional
  create  test/functional/.gitkeep
  create  test/integration
  create  test/integration/.gitkeep
  create  test/unit
  create  test/unit/.gitkeep
  create  test/performance/browsing_test.rb
  create  test/test_helper.rb
  create  tmp/cache
  create  tmp/cache/assets
  create  vendor/assets/stylesheets
  create  vendor/assets/stylesheets/.gitkeep
  create  vendor/plugins
  create  vendor/plugins/.gitkeep
     run  bundle install
  

И она там зависает. Должен ли я просто выйти из нее и продолжить работу с приложением? Почему это не возвращает мне управление терминалу?
Спасибо.

ОБНОВЛЕНИЕ: он запросил у меня пароль и установил несколько драгоценных камней. Но это происходит каждый раз, когда я создаю новый проект rails. это нормально? Спасибо.

Комментарии:

1. Как долго? Какова скорость вашей сети / процессора?

2. Я бы действительно подумал об использовании rvm или rbenv, это позволит избежать проблемы с паролем. Но bundle install позволяет относительно легко устанавливать драгоценные камни проекта. Не нужно переустанавливать драгоценные камни, если они уже установлены, если только вы не используете rvm и не создаете новые наборы драгоценных камней.

3. Спасибо, что прояснили это. Как я могу заставить его прекратить это делать?

4. ну, это может быть проблемой, то есть разрешениями. Я предполагаю, что вы используете какой-то вариант unix. Возможно, установка не завершена, поскольку у вас не было правильных разрешений для установки в расположении по умолчанию через bundle install . Я плюс одно предложение по использованию rvm

5. Вам обязательно следует установить RVM.

Ответ №1:

Система «зависает», потому что она устанавливает все драгоценные камни через bundle install в Gemfile, который rails new <project> генерирует. Это предполагаемое поведение. Он запрашивает ваш пароль, чтобы он мог установить некоторые файлы, к которым ему потребуется sudo доступ для записи (скорее всего, разместив rail исполняемый файл по вашему пути).

Вы можете пропустить bundle install шаг при вызове rails new , передав ему --skip-bundle аргумент. Вам все равно придется вызвать, bundle install прежде чем вы сможете запустить свое приложение, но, по крайней мере, вы можете контролировать, когда это произойдет.

Полезно использовать --skip-bundle , когда вы знаете, что собираетесь изменить Gemfile, чтобы вам не приходилось ждать, пока bundler установит все gems, прежде чем запускать его снова в течение нескольких минут

Ответ №2:

Это довольно устаревший вопрос, но, как бы то ни было, похоже, что теперь это исправлено. Если вы обновите rails ( gem update rails ), это должно устранить проблему.

Ответ №3:

Как упоминалось в большинстве комментариев, хорошо иметь rvm для управления вашими драгоценными камнями. Это зависание, скорее всего, из-за проблемы с разрешениями,

Вы можете попробовать установить gem обычным способом и посмотреть, работает ли это

 gem install <gem name>
  

и ниже приведен базовый обзор использования rvm с наборами драгоценных камней (который я написал некоторое время назад) (http://keepthingssimple.tumblr.com/post/11274588229/using-rvm-to-keep-things-simple )