0

我差点把我的笔记本电脑扔出窗外。我已经在谷歌上搜索了几个小时,似乎我一直在尽一切努力删除这个警告,因为我相信它给我带来了问题。这是我的问题:

cap deploy在我的本地机器上使用,一旦它到达我就会收到关于说rake assets:precompile 的警告Yaml

看来您的 ruby​​ 安装缺少 psych (用于 YAML 输出)

其次是一些我认为不应该出现的错误。这些错误出现在我制作项目时生成的文件中,这真的让我很困惑,也让我觉得 Yaml 警告可能是导致这些错误的原因

To eliminate this warning, please install libyaml and reinstall your 
ruby. rake aborted! can't convert String into Hash
/home3/dancheva/.rvm/gems/ruby-1.9.3-p448/gems/actionpack-3.2.14/lib/action_dispatch/routing/mapper.rb:253:in
`merge'
/home3/dancheva/.rvm/gems/ruby-1.9.3-p448/gems/actionpack-3.2.14/lib/action_dispatch/routing/mapper.rb:253:in
`root'
/home3/dancheva/.rvm/gems/ruby-1.9.3-p448/gems/actionpack-3.2.14/lib/action_dispatch/routing/mapper.rb:1328:in
`root'

我曾尝试删除该~/.rvm/src/yaml*文件夹,然后使用rvm pkg install libyaml. 之后,我使用以下命令重新安装了 rvm ruby​​:

rvm 重新安装 1.9.3

然后我尝试了

rvm 重新安装 1.9.3 --with-libyaml-dir=~/.rvm/src/yaml-0.1.4/

谁能帮我?警告不会消失,我不知道我做错了什么。这变得如此令人沮丧:(


更新:我尝试rake assets:precompile在本地项目上运行。我没有收到 Yaml 错误,但似乎在生成的文件中仍然出现语法错误。这可能与我使用的 ruby​​ 版本有关吗?我知道 1.8 和 1.9 之间的语法发生了变化。这就是我切换到 1.9 的原因,因为我遇到了语法错误,这似乎是由于在不同版本的 ruby​​ 中构建项目而产生的。来自本地机器的错误如下:

[TopGun-Air danchevalierca]$ rake assets:precompile
/Users/danchevalier/.rvm/rubies/ruby-1.9.3-p448/bin/ruby
/Users/danchevalier/.rvm/gems/ruby-1.9.3-p448/bin/rake
assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets rake
aborted! (<unknown>): mapping values are not allowed in this context
at line 7 column 12
/Users/danchevalier/.rvm/gems/ruby-1.9.3-p448/gems/railties-3.2.14/lib/rails/application/configuration.rb:115:in
`database_configuration'
/Users/danchevalier/.rvm/gems/ruby-1.9.3-p448/gems/activerecord-3.2.14/lib/active_record/railtie.rb:84:in `block (2 levels) in <class:Railtie>'
...

我不确定这是否能深入了解可能发生的事情,但我对这一切都很陌生,而且非常困惑/慌乱

4

0 回答 0