窗户的Heroku运行耙分贝:迁移错误“的/ usr / bin中/ ENV:ruby.exe:没有

2019-07-21 18:33发布

我是很新,在这里Rails和我已经按照Ruby on Rails的教程的大部分。 因为我已经决定把我自己的应用程序,但使用beta版钢轨4宝石。 我有我的本地机器(Windows 7)中,做发展上安装PostgreSQL的。 一切的伟大工程! (我爱的Rails远远超过C#,ASP,.NET的工作,我为生活做!)

但是,一旦我决定推到Heroku的,我一直在拉我的头发。 在此之前力推的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的列工具(不heroku宝石。)第一个错误告诉我,我需要确保我Gemfile指定红宝石> = 1.9.3,所以我说“红宝石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 ,并让同样的错误。 我使用与Heroku的Rails的4.x版入门到4应用程序把我的Rails的Heroku。 任何帮助将不胜感激!

哦,我也有运行后的问题:

c:\Sites\elmx>gem install rails --pre

我解决了这个通过添加C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\bin; 在Windows 7我的环境路径变量(这是给我的错误,试图执行的内容,如当它找不到扶手:

rails -v
rails g controller User

但是,如果我输入只是:

rails

它会给我所有我能使用命令的(好像运行rails -h

我使用Windows的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列工具,然后再重新安装了它(因此为什么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

这将然后运行耙和迁移在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是什么?

我也的确让非轨道4的应用,并能够将其发布到Heroku的并没有问题,查看它。 这真是让我心烦。

Answer 1:

您需要在3个文件的应用程序第一次行改变:

bin/bundle
bin/rails
bin/rake

代替

#!/usr/bin/env ruby.exe

一定是

#!/usr/bin/env ruby

这就是为什么是错误:

/usr/bin/env: ruby.exe: No such file or directory

然后,你成功地做到:

heroku run rake db:migrate

这对我的工作。



Answer 2:

我也有类似的问题,正如其他人已经指出,改变了以下的帮助。

#!/usr/bin/env ruby.exe#!/usr/bin/env ruby

但是 ,我还需要删除其仍从原来的开发在Windows上存在一些隐藏的回车(我猜?)。

我用dos2unix做到这一点。

dos2unix bin/bundle bin/rake bin/rails

在那之后,我犯了我的变化,被推到Heroku的,一切都很好。



Answer 3:

我有同样的问题,改变ruby.exe在上述的三个文件,以红宝石,执行

 git push heroku master 
步骤,这告诉了我一切是最新的。 尝试
 heroku run rake db:migrate 
再次步骤,它仍然没有工作; 我得到了同样的错误有关没有这样的文件或目录ruby.exe。 我检查了我的Gemfile.lock的的指示,但没有看到任何东西,看着窗户-Y。

然后我执行这些:

 git add . git commit -m "My comment" 
与再次尝试
 git push heroku master 
这一次,消息的容载量的推移,包括:
 Removing Gemfile.lock because it was generated on Windows. 
因此,或许有什么不妥之处,我只是不知道我要寻找它。

再次尝试

 heroku run rake db:migrate 
看来已经奏效,因为我得到了
 Running rake db:migrate attached to terminal... up, run.3260 == CreateUsers: migrating ==================================================== -- create_table(:users) -> 0.0409s == CreateUsers: migrated (0.0412s) =========================================== 

我最好的猜测是,改变从束,耙去掉.exe和铁轨也没有真正得到推在第一次尝试混帐推Heroku的主人和git的补充。 和git的承诺-m“我的评论”是必要的,以使其得到推升。 这是我用git / Heroku的/红宝石什么的第一次尝试,所以我不知道,足以说明为什么被要求另外两个命令,但离开我在这里的情况下记录的经验可以帮助别人。
感谢这么多的线索以上,这是在这三个文件是导致问题的.exe文件。



Answer 4:

bin/bundle
bin/rails
bin/rake

代替

#!/usr/bin/env ruby.exe

一定是

#!/usr/bin/env ruby

(感谢以前的帖子)

确保有在Gemfile.lock的窗户里没有引用 - 他们可以被删除

然后

git push heroku master

如果仍然存在问题使用

Heroku的日志(文本复制到一个文本编辑器,可以更容易地剪切和粘贴的解决方案)



Answer 5:

试试这个:

sudo apt-get install build-essential patch ruby-dev zlib1g-dev liblzma-dev

然后安装引入nokogiri:

gem install nokogiri


文章来源: windows heroku run rake db:migrate error “/usr/bin/env: ruby.exe: No such file or directory”