如何调试遗失的Gem资产?

时间:2015-09-26 05:35:49

标签: gem asset-pipeline ruby-on-rails-4.2

我将autoNumeric gem添加到项目中。在我的本地开发环境中,assets:precompilerails s会生成Sprockets::FileNotFound: couldn't find file 'autonumeric' (in myapp/app/assets/javascripts/application.js)

我试过了:

  • 删除/重新添加宝石
  • 重启服务器(尝试rails s时)
  • bundle exec添加到命令
  • 使用相同的代码库创建新的干净VM

对我来说令人费解的是,我们的CI服务器和其他开发人员的机器运行良好。所有的gem版本都是一样的,代码库是一样的。

我能看到的唯一环境差异是,我失败的环境是使用ruby-build/rbenv设置的,而使用rvm的设置是使用 @Override public void onClick(View v) { try { startActivity(new Intent(Intent.ACTION_VIEW, Uri .parse("fb://page/12345"))); //12345 is Facebook page number } catch (Exception e) { //open link in browser startActivity(new Intent(Intent.ACTION_VIEW, Uri .parse("http://m.facebook.com/etc"))); } }

如果我手动将资产从Gem的源代码复制到我的应用程序中,那么它可以解决我的失败环境中的问题,但这不是一个可行的解决方案。

我可以采取哪些其他步骤来帮助调试此问题?

1 个答案:

答案 0 :(得分:0)

我探索了下一个明显的选项,即使用rvm vs ruby-build/rbenv重建新的开发虚拟机。这成功地克服了这个问题,所以我可以推断出问题在于在我的其他环境中使用rbenv的不正确方法。