如何修复Heroku上未初始化的常量Rake :: DSL问题?

如何解决如何修复Heroku上未初始化的常量Rake :: DSL问题?

| 除了在Heroku上发生我的错误之外,我得到的错误类似于这些问题中的错误:
2011-05-30T09:03:29+00:00 heroku[worker.1]: Starting process with command: `rake jobs:work`
2011-05-30T09:03:30+00:00 app[worker.1]: (in /app)
2011-05-30T09:03:30+00:00 heroku[worker.1]: State changed from starting to up
2011-05-30T09:03:33+00:00 app[worker.1]: rake aborted!
2011-05-30T09:03:33+00:00 app[worker.1]: uninitialized constant Rake::DSL
2011-05-30T09:03:33+00:00 app[worker.1]: /app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:8:in `<class:TaskLib>\'
这些问题的答案似乎是指定“ 1”,因为0.9版本会引起问题。 当我尝试将ѭ1file添加到我的gemfile并推送到Heroku时,出现此错误:
Unresolved dependencies detected; Installing...
You have modified your Gemfile in development but did not check
the resulting snapshot (Gemfile.lock) into version control

You have added to the Gemfile:
* rake (= 0.8.7)
FAILED: http://devcenter.heroku.com/articles/bundler
! Heroku push rejected,failed to install gems via Bundler
error: hooks/pre-receive exited with error code 1
To git@heroku.com:my_app.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to \'git@heroku.com:my_app.git\'
我的gemfile在Heroku上通常可以正常工作。我该怎么办?     

解决方法

        将此放在您的Rakefile中,上面需要\'rake \':
require \'rake/dsl_definition\'
    ,        每次更改Gemfile时,都需要ѭ5来更新锁文件(Gemfile.lock)。您遇到的错误并非特定于更改rake的版本。
bundle install
git commit -a -m \"update lockfile\"
git push heroku master
请注意您收到的错误消息:   您已经在开发中修改了Gemfile,但没有将生成的快照(Gemfile.lock)检查到版本控制中     ,        经过大量的思考之后,我终于解决了这个问题。我所做的简短版本缺少很多实验,它是: 1)更改Gemfile以指定Rake 0.8.7
#in Gemfile
gem \"rake\",\"0.8.7\"
2)基于堆栈溢出问题Ruby on Rails和Rake问题,删除我之前添加到Rakefile中的hack:未初始化的常量Rake :: DSL: 因此,我的Rakefile现在又回到了我应用程序的标准Rakefile:
# Add your own tasks in files placed in lib/tasks ending in .rake,# for example lib/tasks/capistrano.rake,and they will automatically be available to Rake.
require File.expand_path(\'../config/application\',__FILE__)
require \'rake\'

MyApp::Application.load_tasks
3)更改Heroku以在Ruby 1.9.2中运行我的应用程序:
heroku stack:migrate bamboo-mri-1.9.2 --app myapp
git push heroku master
现在看来很好-计划的cron任务仍在运行。 编辑:确实运行良好,一次,然后下次我推东西时再次炸毁!啊我想我现在根据对话修复了问题,并添加了
delayed_job
宝石。不知道如何建立任务作业:工作。 安装
delayed_job
似乎不是一个很好的解决方案,但是它确实有效,我想我可能想在某个时候使用它,特别是在Heroku每小时一次的cron作业中(这不够频繁) -我可能想每五分钟运行一次。安装
delayed_job
宝石后,我必须为其进行设置,否则Heroku会抱怨缺少
delayed_jobs
桌子:
#add to gemfile
gem \'delayed_job\'

#at command line
bundle install
rails g delayed_job
rake db:migrate
git add -A
git commit -a -m \"added delayed_job gem\"
git push
heroku rake db:migrate --app myapp
heroku restart --app myapp
    ,        我有一个Rails 3.0.11应用程序,该应用程序在Gemfile中指定了rake版本0.8.7,以解决版本0.9.2 Rake :: DSL问题。 将应用程序转换为Rails 3.2.0(Heroku Cedar堆栈)后,我遇到了工作程序崩溃(耙任务)的问题。我将\“ gem \'rake \',\'0.8.7 \'\”更改为\“ gem \'rake \'\”,该版本捆绑了rake 0.9.2.2版本。工作人员停止使用新版本崩溃。     ,        您的问题是由于未删除
Gemfile.lock
文件引起的,而不是特定于Heroku的。删除
Gemfile.lock
应该可以解决此问题,但会直接导致您遇到另一个问题:
To git@heroku.com:tailored-landing-pages.git
 * [new branch]      master -> master
manfred@painstation2:~/Desktop/projects/ror/ta/tlp307$ heroku rake db:migrate
rake aborted!
ninitialized constant Rake::DSL
/app/Rakefile:13:in `<class:Application>\'
/app/Rakefile:12:in `<module:Tlp307>\'
/app/Rakefile:11:in `<top (required)>\'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `load\'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile\'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile\'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling\'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile\'
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:1991:in `run\'
/usr/ruby1.9.2/bin/rake:31:in `<main>\'
不幸的是,我尚未找到解决该问题的解决方案,因为将Rake降级到0.8.7似乎在这里不起作用。如果其他人有答案,我将不胜感激。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-