/ usr / bin / env:ruby.exe:没有这样的文件或目录

时间:2013-07-30 18:09:43

标签: ruby-on-rails ruby heroku deploying

我是Rails的新手,我正在关注如何制作Rails应用程序tutorial。我无法将数据库迁移到我的heroku应用程序。

我目前正处于第3章的开头,尝试设置一个应用程序以用于课程的其余部分。

我一直在完美地关注这个教程,到目前为止,我已经构建了两个应用程序并将它们部署到heroku并将数据迁移得很好,但第三次它没有工作。

我能够创建heroku页面并将应用程序推送到它,但我无法迁移数据。

我打字:

heroku run rake db:migrate

并收到此错误:

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

我假设这意味着它正在寻找该目录中的文件而没有找到它。我如何改变它的外观?

我检查了“windows heroku run rake db:migrate error “/usr/bin/env: ruby.exe: No such file or directory””并做了推荐的答案,也就是说,在bin / bundle,bin / rails和bin / rake中将“ruby.exe”更改为“ruby”,但是没有工作。

还有其他提示吗?我被困在这几个小时。非常感谢你。

3 个答案:

答案 0 :(得分:1)

该命令通常为heroku run rake db:migrate。你应该尝试而不是heroku run rails db:migrate

确保您已将应用推送到heroku。当它推送到heroku时,请确保它也被检测为rails应用程序。 heroku可能没有检测到rails应用程序,因此它设置的环境没有安装ruby。但它可能只是命令名称中的错误(rails而不是rake)。

答案 1 :(得分:1)

我在从Windows移植过的存储库中遇到了类似的问题。

事实证明,应用程序bin目录中的几个脚本仍然有一个shebang行(#!/usr/bin/env ruby.exe)到ruby.exe而不是ruby。一旦我修复了这些脚本,问题就消失了。

答案 2 :(得分:-1)

在你的本地开发机器上,在提交git(然后推送到Heroku)之前,尝试将行结尾更改为Unix行结尾(而不是Windows行结尾)。在* nix机器上,您可以通过运行dos2unix myfile.rb

来实现

如果行结尾错误,Heroku上加载的Linux将查找ruby^M而不是ruby,并且当然不会找到它,并提供此确切的错误消息。