我正在阅读Rails 4 In Action书。我在第13章:部署,第457页,您将代码推送到heroku:
git push heroku master
它似乎成功地抓住了所有需要的宝石,因为它到达了这个部分:
remote: Bundle complete! 27 Gemfile dependencies, 90 gems now installed.
remote: Gems in the groups development and test were not installed.
remote: Bundled gems are installed into ./vendor/bundle.
remote: Bundle completed (29.18s)
remote: Cleaning up the bundler cache
然后就在那之后它爆炸了并说:
remote: -----> Detecting rake tasks
remote: sh: 2: Syntax error: Unterminated quoted string
remote: sh: 2: Syntax error: Unterminated quoted string
remote: !
remote: ! Could not detect rake tasks
remote: ! ensure you can run `$ bundle exec rake -P` against your app
remote: ! and using the production group of your Gemfile.
remote: ! rake aborted!
remote: ! LoadError: cannot load such file -- net/ssh
我做了它建议并运行bundle exec rake -P
。以下是该输出:
rake aborted!
LoadError: cannot load such file -- net/ssh
在学习教程书时,这是一个艰难的部分。我不认为我错过了任何步骤。我不知道该怎么做。任何提示将非常感谢。
答案 0 :(得分:1)
我想通了,希望这可以帮助其他人遇到同样的问题。
最终对我来说最重要的是我必须更新fog
宝石。这本书让你使用版本1.29.0
。无论出于何种原因:该版本对我不起作用。
在我的Gemfile
中,我只需添加gem "fog"
,删除我的Gemfile.lock
并运行bundle
,这样就可以获取最新版本。
之后我查看Gemfile.lock
内部并注意到它抓住了fog
1.38.0
版本的git push heroku master
。现在,当我运行fog
时,它运作了。
导致我尝试更新rails 4.2.1
的原因是this issue on the fog github page。
如果有人好奇:我正在使用ruby 2.2.1
,以及本书告诉你的[ReadOnly(true)]
public decimal BodyMassIndex { get; private set; }
。