windows heroku запустить rake db: ошибка переноса «/ usr / bin / env: ruby.exe: такого файла или каталога нет»
Я довольно новичок в Rails здесь, и я следовалУчебник по Ruby on Rails для большей части этого. С тех пор я решил сделать свое собственное приложение, но с помощью бета-версии Rails 4. Я установил PostgreSQL на свой локальный компьютер (Windows 7) и завершил разработку. Все отлично работает! (Я люблю Rails гораздо больше, чем работу на C #, ASP, .NET, которую я зарабатываю на жизнь!)
Однако, как только я решил подтолкнуть Героку, я выдернул свои волосы. До толчка к Heroku я сделал стандарт:
c:\Sites\elms>git add .
c:\Sites\elms>git commit -m "My comment"
c:\Sites\elms>git push
c:\Sites\elms>git push heroku master
Я скачал и установил Heroku Toolbelt (неheroku
жемчужина.) Первая ошибка сказала мне, что мне нужно убедиться, что мойGemfile
указал Ruby> = 1.9.3, поэтому я добавил "ruby 1.9.3" в начало моегоGemfile
:
source 'https://rubygems.org'
ruby "1.9.3"
gem 'rails', '4.0.0.beta1'
gem 'pg'
gem 'haml-rails'
gem 'httparty'
gem 'devise', git: 'git://github.com/plataformatec/devise.git', branch: 'rails4'
gem 'cancan'
gem 'bootstrap-sass'
gem 'formtastic'
gem 'formtastic-plus-bootstrap'
group :development do
gem 'annotate'
gem 'better_errors'
gem 'binding_of_caller'
gem 'guard-spork'
gem 'guard-rspec'
gem 'meta_request'
gem 'rb-notifu'
gem 'schema_to_scaffold'
gem 'wdm', :platforms => [:mswin, :mingw], :require => false
gem 'win32console'
end
group :development, :test do
gem 'rspec-rails'
gem 'pry'
gem 'spork-rails', git: 'git://github.com/sahilm/spork-rails.git', branch: 'rails-4'
gem 'spork', '~> 1.0.0rc3'
end
group :test do
gem 'capybara'
gem 'factory_girl_rails'
gem "shoulda-matchers"
end
group :assets do
gem 'sass-rails', '~> 4.0.0.beta1'
gem 'coffee-rails', '~> 4.0.0.beta1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.0.1'
Пуш наконец работал без проблем, но когда я попытался перенести базу данных, я получил следующее:
c:\Sites\elms>heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.2205
/usr/bin/env: ruby.exe: No such file or directory
Я также попробовал:heroku run bin/rake db:migrate
, и это дает ту же ошибку. Я используюНачало работы с Rails 4.x на Heroku перенести мое приложение Rails 4 в Heroku. Любая помощь будет принята с благодарностью!
О, у меня тоже была проблема после запуска:
c:\Sites\elmx>gem install rails --pre
Я решил это, добавивC:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\bin;
в мою переменную среды Path в Windows 7 (она выдала мне ошибку, что она не может найти рельсы при попытке выполнить что-либо, например:
rails -v
rails g controller User
Но если бы я просто набрал:
rails
Это дало бы мне все команды, которые я мог использовать (как если быrails -h
)
Я настроил свой компьютер с помощью установщика Windows Rails, а затем установил гем Rails 4. Это очень расстраивает, и я искал в интернете, пытаясь найти кого-то с той же проблемой.
РЕДАКТИРОВАТЬ 1:
Я просто удалил пользовательскую переменную среды Path и изменил системную переменную среды Path, чтобы она выглядела так:
C:\RailsInstaller\Ruby1.9.3\bin;C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\bin;C:\Program Files (x86)\git\cmd;C:\Program Files (x86)\Heroku\bin
Обновил мою переменную пути до вышеприведенного и удалил Heroku Toolbelt, затем переустановил ее (следовательно, часть Heroku находится в переменной пути) и попытался сделать следующее:
c:\Sites\elms>ruby -v
ruby 1.9.3p125 (2012-02-16) [i386-mingw32]
c:\Sites\elms>rails -v
Rails 4.0.0.beta1
c:\Sites\elms>heroku -v
! `-v` is not a heroku command.
! Perhaps you meant `-h`.
! See `heroku help` for a list of available commands.
c:\Sites\elms>heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.2100
/usr/bin/env: ruby.exe: No such file or directory
c:\Sites\elms>heroku run bin/rake db:migrate
Running `bin/rake db:migrate` attached to terminal... up, run.2872
/usr/bin/env: ruby.exe: No such file or directory
РЕДАКТИРОВАТЬ 2:
Таким образом, я получил немного дальше в этом предприятии. Я узнал, что могу выполнить:
c:\Sites\elms>heroku run bash
~ $ cd bin
~/bin $ ruby rake db:migrate
И это затем запустит rake и перенесет мою базу данных на Heroku. Но проблема усугубляется! Я пытаюсь перейти на страницу, и она говорит мне, что что-то не так, поэтому я запускаю файл журнала, и вот что я получаю:
c:\Sites\elms>heroku logs
2013-03-16T05:34:20+00:00 heroku[api]: Enable Logplex by
2013-03-16T05:34:20+00:00 heroku[api]: Release v2 created by
2013-03-16T05:34:36+00:00 heroku[slugc]: Slug compilation started
2013-03-16T05:35:37+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 13423 -e $RAILS_ENV`
2013-03-16T05:35:37+00:00 heroku[slugc]: Slug compilation finished
2013-03-16T05:35:37+00:00 app[web.1]: bash: bin/rails: No such file or directory
2013-03-16T05:35:39+00:00 heroku[web.1]: Process exited with status 127
2013-03-16T05:35:39+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 33539 -e $RAILS_ENV`
2013-03-16T05:35:40+00:00 app[web.1]: /usr/bin/env: ruby.exe: No such file or directory
2013-03-16T05:35:41+00:00 heroku[web.1]: Process exited with status 127
2013-03-16T05:35:41+00:00 heroku[web.1]: State changed from starting to crashed
2013-03-16T05:35:41+00:00 heroku[web.1]: State changed from crashed to starting
2013-03-16T05:35:44+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 23452 -e $RAILS_ENV`
2013-03-16T05:35:44+00:00 app[web.1]: /usr/bin/env: ruby.exe: No such file or directory
Это действительно расстраивает. Я понятия не имею, какого черта/usr/bin/env
является. Единственное, что я могу догадаться, это то, чтоPATH
для Windows. Если это так, то почему сервер не знает, гдеruby.exe
является?
Я сделал приложение, не относящееся к Rails 4, и смог опубликовать его в Heroku и просмотреть без проблем. Это действительно действует мне на нервы.