如何调试丢失的 Gem 的资产?
How to debug a missing Gem's assets?
我正在将 autoNumeric gem 添加到项目中。在我的本地开发环境中,assets:precompile
或 rails s
结果为 Sprockets::FileNotFound: couldn't find file 'autonumeric' (in myapp/app/assets/javascripts/application.js)
.
我试过:
- removing/re-adding gems
- 正在重新启动服务器(尝试
rails s
时)
- 添加
bundle exec
命令
- 使用相同的代码库创建一个新的干净 VM
让我感到困惑的是,运行 我们的 CI 服务器和另一个开发人员的机器都很好。所有 gem 版本都相同,代码库相同。
我能看到的唯一环境差异是我失败的环境是使用 ruby-build/rbenv
设置的,而通过的环境使用 rvm
。
如果我手动将资产从 Gem 的源代码复制到我的应用程序中,那么它可以解决我失败的环境中的问题,但这不是一个可行的解决方案。
我可以采取哪些其他步骤来帮助调试此问题?
我探索了下一个明显的选择,即使用 rvm
与 ruby-build/rbenv
重建新的开发 VM。这成功地解决了这个问题,所以我可以推断出问题出在我的其他环境中使用 rbenv
的不正确方法。
我正在将 autoNumeric gem 添加到项目中。在我的本地开发环境中,assets:precompile
或 rails s
结果为 Sprockets::FileNotFound: couldn't find file 'autonumeric' (in myapp/app/assets/javascripts/application.js)
.
我试过:
- removing/re-adding gems
- 正在重新启动服务器(尝试
rails s
时) - 添加
bundle exec
命令 - 使用相同的代码库创建一个新的干净 VM
让我感到困惑的是,运行 我们的 CI 服务器和另一个开发人员的机器都很好。所有 gem 版本都相同,代码库相同。
我能看到的唯一环境差异是我失败的环境是使用 ruby-build/rbenv
设置的,而通过的环境使用 rvm
。
如果我手动将资产从 Gem 的源代码复制到我的应用程序中,那么它可以解决我失败的环境中的问题,但这不是一个可行的解决方案。
我可以采取哪些其他步骤来帮助调试此问题?
我探索了下一个明显的选择,即使用 rvm
与 ruby-build/rbenv
重建新的开发 VM。这成功地解决了这个问题,所以我可以推断出问题出在我的其他环境中使用 rbenv
的不正确方法。