告诉Bundler从特定gem的安装中排除某些gem

Jak*_*keP 5 ruby ruby-on-rails bundler ruby-on-rails-3 twitter-bootstrap

在gemfile中,有什么方法可以告诉Bundler:

gem 'twitter-bootstrap-rails', :exclude therubyracer
Run Code Online (Sandbox Code Playgroud)

我需要安装twitter-bootstrap-rails但它会自动拉therubyracer入,因此bundle install失败并且bootstrap不包含在项目中,因为这是一台Windows机器.我安装了execjs无济于事.

我试图therubyracer在生产中列出bundle install --without production,也无济于事.

" windows上的therubyracer gem "也是这个问题,但没有任何建议改变了我得到的错误.

我的旧线程是" 当我做"捆绑更新"时,我从gem中得到一个错误而不是我的gemfile.我如何忽略这种依赖? ".

iai*_*ain 5

在Bundler中没有选择。

因此,您将获得以下选项:

  • 不要使用twitter-bootstrap-rails。您只需将已编译的css和js文件复制到下的正确目录中即可vendor/assets。您将失去更改较少变量的能力。或者,您可以使用compass_twitter_bootstrapgem,它使用sass而不是更少。

  • 获取less要使用的gem 的维护者,execjs而不是commonjstherubyracer。如果可能的话,这可能意味着对维护人员进行大量重构。

  • 使用:platformGemfile中的选项,仅在OSX或Linux上安装。然后要求您可以手工使用的零件,而无需加载less。这可能行不通。

  • 那真是la脚:-( Bundler在不久的将来有排除功能的机会吗? (3认同)
  • 哇,这太可怕了。因此,如果有人依赖于您 100% 可以验证不会被调用的东西,那么您需要分叉 gem 以从 gemfile 中删除该行以避免使用该依赖项。哇。 (2认同)