1

我用 jquery simple faq 创建了一个资产 gem。 https://github.com/MavenHive/jquery_simplefaq

我已将以下行添加到我的 application.js 文件中。

//= require simplefaq

当我在本地运行 assets:precompile 时,出现以下错误。

rake aborted!
couldn't find file 'simplefaq'

为了调查这个问题,我将 gem 克隆到我的本地机器并使用 path 引用它。

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 应用程序来复制此错误。

gem 'jquery_simplefaq', :git => 'git://github.com/MavenHive/jquery_simplefaq'

将以下行添加到您的 application.js。

//= require simplefaq

运行资产:预编译

4

1 回答 1

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"]

之后,预编译应该可以工作

于 2013-09-21T12:34:44.747 回答