Heroku运行rake db:migrate时出错,提示找不到rake命令。

6

我正在运行运行rake db:migration命令,终端告诉我rake不是一个命令

$ heroku run rake db:migrate --app"glacial-lake-5597"
Running `rake db:migrate --appglacial-lake-5597` attached to terminal... up, run.1930
bash: rake: command not found

$ heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.4588
bash: rake: command not found

我已经安装了bundle并将更改提交到了git。

我在StackOverflow上搜索了很久也没有找到答案。

有人能指点我方向吗?


1
你确定命令里没有错别字吗?--app选项和应用程序名称之间应该有一个空格,就像这样heroku run rake db:migrate --app "glacial-lake-5597" - eugen
2
检查您的应用程序是否已正确部署且没有错误。 - Sonalkumar sute
Eugen,我刚刚尝试了在-app选项中加入空格,但仍然没有成功。我对Rails环境非常陌生。@Sontya,请问如何检查应用程序是否已正确部署?Heroku open打开的网页只显示“欢迎”,所以我认为它已经部署成功了。 - Nicholas Yaworsky
3个回答

7

我曾经也遇到过同样的问题。

原因是我在首次推送到Heroku时没有指定远程分支,Heroku应用程序起始于一个空白的代码库 - 它们没有分支和代码。因此,在第一次部署时,您需要指定一个远程分支。

git push heroku master

最初我没有这样做,但现在这样做可以解决我的rake问题。


1

查看 gem sqlite 是否仅在开发环境中使用。

就像这样

group :development do
  gem 'sqlite3'
  gem 'web-console'
  gem 'listen', '~> 3.0.5'
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

0

要检查您的应用程序是否正确部署,请在尝试推送到Heroku后查看您的shell中的跟踪。我一直在Cloud 9上运行我的应用程序,因为结果非常小,而且我是新手,而且它以前总是完美地部署......

当我浏览时,发现提到了两个错误;我纠正了这些错误,然后heroku数据库迁移就可以正常运行了。一个错误是缺少一行代码,另一个错误是我在SO上找到的(我无法找到链接,抱歉),与我的css文件的文件扩展名有关,我将其从.css更改为.css.scss。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接