我用jquery简单常见问题创建了一个资产宝石。 https://github.com/MavenHive/jquery_simplefaq
我已将以下行添加到我的application.js文件中。
//= require simplefaq
当我运行资产时:在我的本地预编译我得到以下错误。
rake aborted!
couldn't find file 'simplefaq'
为了解决这个问题,我将gem克隆到我的本地机器并使用路径引用它。
gem 'jquery_simplefaq', :path => '/path/to/jquery_simplefaq'
这非常有效。更改此选项以使用本地gem存储库的git url会引发找不到文件的错误。
gem 'jquery_simplefaq', :git => 'file:///path/to/jquery_simplefaq'
使用:path工作,并且:git抛出错误。我错过了什么?
更新
错误消息
/home/user/.rvm/rubies/ruby-1.9.3-p194-perf/bin/ruby /home/user/.rvm/gems/ruby-1.9.3-p194-perf@gemset2/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
couldn't find file 'simplefaq'
(in /home/user/code-repo/proj/webapp/app/assets/javascripts/application.js:27)
您可以通过将gem添加到任何rails 3 app来复制此错误。
gem 'jquery_simplefaq', :git => 'git://github.com/MavenHive/jquery_simplefaq'
将以下行添加到您的application.js。
//= require simplefaq
运行资产:预编译
答案 0 :(得分:2)
所以,我分叉你的存储库并使其工作。你的gemspec文件中有一点混淆。
目前,你有这个:
# jquery_simplefaq.gemspec
spec.files = `git ls-files`.split($/)
# ...
spec.require_paths = Dir["{lib,vendor}/**/*"] + ["README.md"]
将其更改为:
spec.files = Dir["{lib,vendor}/**/*"] + ["README.md"]
# ...
spec.require_paths = ["lib"]
之后,预编译应该可以正常工作