Команда RoR 'new' висит
Я только начинаю рубин на рельсах. В терминале я ввел "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
И он там висит. Должен ли я просто выйти из него и продолжить приложение? Почему он не возвращает мне контроль над терминалом?
Спасибо.
ОБНОВЛЕНИЕ: он попросил меня ввести мой пароль и установить некоторые драгоценные камни. Но он делает это каждый раз, когда я создаю новый проект рельсов. это нормально?
Спасибо.
Ответы
Ответ 1
Система "висит", потому что она устанавливает все драгоценные камни через bundle install
в Gemfile, который генерирует rails new <project>
. Это предполагаемое поведение. Он запрашивает ваш пароль, чтобы он мог установить некоторые файлы, для которых ему понадобится sudo
доступ к записи (скорее всего, размещение исполняемого файла rail
в вашем пути).
Вы можете пропустить шаг bundle install
при вызове rails new
, передав ему аргумент --skip-bundle
. Вам все равно придется вызывать bundle install
, прежде чем вы сможете запустить приложение, но по крайней мере вы можете контролировать, когда это произойдет.
Полезно использовать --skip-bundle
, когда вы знаете, что собираетесь изменить Gemfile, так что вам не нужно ждать, пока связующий узел установит все драгоценные камни, прежде чем запускать его за несколько минут.
Ответ 2
Это довольно устаревший вопрос, но для того, что он стоит, кажется, теперь исправлено. Если вы обновляете рельсы (gem update rails
), это должно устранить проблему.
Ответ 3
Поскольку большинство комментариев упомянули о своем хорошем, чтобы иметь rvm для управления вашими драгоценными камнями. Это зависание, скорее всего, связано с проблемой разрешения,
Вы можете попробовать установить драгоценный камень обычным способом и посмотреть, работает ли он
gem install <gem name>
а следующая - базовая запись об использовании rvm с наборами gem (которые я написал некоторое время назад) (http://keepthingssimple.tumblr.com/post/11274588229/using-rvm-to-keep-things-simple )