Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么没有;heroku bundle更新";?_Ruby On Rails_Heroku_Gem_Bundler - Fatal编程技术网

Ruby on rails 为什么没有;heroku bundle更新";?

Ruby on rails 为什么没有;heroku bundle更新";?,ruby-on-rails,heroku,gem,bundler,Ruby On Rails,Heroku,Gem,Bundler,我不明白为什么我必须在本地更新我的gems并将其推送到heroku,以获得它们的更新版本 为什么没有heroku bundle update命令?当您bundle update或运行任何等效的CLI命令时,我相信Bundler会更新您的Gemfile.lock文件,该文件保存了所有gem依赖项的树,并且锁定文件由您的git存储库跟踪() 如果您能够直接在Heroku上运行该命令,那么您必须再次提取存储库,否则您将面临git快进问题 因此,实际上,您不必在本地执行命令并将其向上推送,从而不再运行任

我不明白为什么我必须在本地更新我的gems并将其推送到heroku,以获得它们的更新版本


为什么没有
heroku bundle update
命令?

当您
bundle update
或运行任何等效的CLI命令时,我相信Bundler会更新您的Gemfile.lock文件,该文件保存了所有gem依赖项的树,并且锁定文件由您的git存储库跟踪()

如果您能够直接在Heroku上运行该命令,那么您必须再次提取存储库,否则您将面临git快进问题


因此,实际上,您不必在本地执行命令并将其向上推送,从而不再运行任何命令。

应该首先在本地运行bundle update的真正原因是测试您的应用程序是否仍在使用较新的gem版本。heroku bundle update将是一个危险的命令。

这一点很好,但我仍然不喜欢它,它是一个复杂的项目,在让服务器运行并重新编译.lock文件之前,我必须做很多事情。也许有办法稍微改进一下部署过程?我知道对于一些更复杂的应用程序,我通常倾向于编写一个rake任务,比如
rake-app:deploy
。它将运行预部署任务,运行测试(如果通过),然后推送到heroku。