问题标签 [bundler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - “gem install bundler --version=0.8.1”不安装捆绑可执行文件
尝试在 Ubuntu 机器上安装 Bundler 0.8.1 时,它安装得很好,但是找不到可执行的“bundle”。其他 gem 安装成功,包括它们的可执行文件。
使用:gem install bundler --version=0.8.1
路径/home/ahammad/gems/bin
已添加PATH
,问题是没有捆绑exe。
有任何想法吗?
ruby-on-rails - Rails 3 app server 启动时间长
更新 2这是 Ruby 1.9.2 加载文件方式的一个已知错误/功能。 http://twitter.com/#!/rails/status/72801149769621504
更新:这开始是一个问题,但经过一段时间的研究后,我认为它可能无法修复。我想我会发布这个,以防其他人看到同样的事情并且想知道 rails 和 bundler 内部发生了什么。
还有其他人在他们的 Rails 3 应用程序中看到很长的加载时间吗?我在 environment.rb、application.rb、boot.rb 和 railties/lib/rails/initializable.rb 中放置了计时器。时间以秒为单位,经过的时间是自上次记录时间以来的时间。生产加载时间需要更长的时间。部分原因是硬件较少,也来自 eager_load!(也许来自 Thin vs Mongrel)。看起来 Bundler 占用了很大一部分加载时间,我想这是可以预料的。我在 dev 和 prod 中测试了一个应用程序,在 dev 中测试了一个空白应用程序。我测试了 2 个应用服务器只是为了看看它是否是 Thin 导致的。我在产品中也看到了与乘客类似的事情(这使得它在 2.2.15 中无法使用产卵行为)。我针对 edge Rails 进行了测试,开发中的性能在 14.5 秒和 14.2 秒之间稍差。如果我删除我的测试依赖项,它可以节省 2-3 秒,但这在我运行测试时没有帮助。我想在我的测试运行之前等待 5 分钟让我的所有瘦实例重新启动并等待 15 秒只是有点烦人,但在这一点上这是一个可以接受的权衡,因为我在 Rails 3 中获得了生产力。如果有人有任何有助于加快速度的想法,我全神贯注。以下是测试结果:
注意:我在 Rails 2.3 中的应用程序在 dev 中加载不到 3 秒(尽管自从迁移到 rails3 后,我已经将一些代码转换为引擎并添加了 haml 和 twitter_oauth gem)
**使用 Rails 3RC 和 Ruby 1.9.2rc2 进行的所有测试
Prod with Thin - CentOS 5.5,Rackspace 云服务器 2GB 实例
测试应用程序 #1,具有 24 个 gem 依赖项
Dev with Mongrel - Max OSX 10.5.8, 2.66 Core2duo, 4GB RAM
Test App #1 与 24 个 gem 依赖项
使用 Mongrel Test App #2 进行开发,具有 2 个 gem 依赖项
ruby-on-rails - 如何让 Rails 从插件加载中排除一些捆绑的 gem?
我有一个使用 Bundler 进行依赖管理的 Rails 应用程序。我有以下内容Gemfile
:
我在我的初始化程序中调用Bundler.setup(:default, RAILS_ENV.to_sym)
and 。Bundler.require(:default, RAILS_ENV.to_sym)
问题在于,由于 Bundler 将 gem 放入vendor/bundle/
,Rails 会初始化所有具有 的 gem init.rb
,而不仅仅是当前环境的那些。如何防止 Rails 自动加载 Foo 的init.rb
?
git - 捆绑器:带有 :git 源的“捆绑包”
我正在尝试让我的应用程序在部署之前打包我的 gem(到 heroku) 我的 Gemfile 中的一个 gem 是我编写的自定义 gem,我正在使用 bundler 的 :git 选项来使用特定标签我感兴趣的是:
但是,当我运行bundle package
时,这个 gem 不包含在我的 vendor/cache 目录中。这是一个已知问题吗,即 Bundler 不打包使用 git 源而不是打包的 .gem 文件的 gem?
我在文档中没有找到任何说明这两种方式的内容,但我真的希望使用这个 :git 选项可以省去我必须实际构建 gem 并将其托管在某个地方的麻烦。(所有这些代码都不是开源的或以任何方式公开的,所以我不想将它推送到 gemcutter)
另请注意,我需要先打包我的 gem,因为由于公钥问题,heroku 在部署时无法访问 git 源。
ruby - Ruby Bundler 权限问题
所以,我很肯定我曾经sudo bundle install
绝望地做了一次,我现在明白这是一个禁忌。但是现在,当我尝试运行时bundle install
,出现以下错误:
我尝试删除 ~/.bundle ~/.gem .bundle Gemfile.lock 中的所有内容以及 /Library/Ruby (OSX 10.6) 中对 culerity 或 capybara 的任何引用。我还检查以确保在这个项目中的所有文件上都正确设置了权限(不是 root)。我还清除了 gem 缓存。
我的宝石文件:
另外,我的系统上有 rvm,但我正在为这个项目使用系统 ruby。
关于导致许可问题的任何想法?当然,我并没有坚持使用sudo bundle install
.
谢谢。
ruby-on-rails - Rails 3:乘客找不到捆绑程序安装的 git gem
Rails 3.0.0,乘客 2.2.15:
- 创建一个新的 Rails 项目
- 添加
gem 'paperclip', :git => 'git://github.com/lmumar/paperclip.git', :branch => 'rails3'
到您的 Gemfile - 做
bundle install
- 一切正常,从
rails/script server
& 开始访问也可以 - 但是,当使用乘客访问时,它会说:
git://github.com/lmumar/paperclip.git(在 rails3 上)未检出。请运行bundle install
(Bundler::GitError)
我已经尝试bundler pack
(没有帮助)并将 BUNDER_HOME 设置为 ~/.bundler(Paperclip git 通过bundler install
.htaccess 和 config/*.rb 的各个位置安装在那里),但这也没有成功。
~/.bundler 与 Rails 项目属于同一用户(Passenger 在此用户下运行),因此它不会是权限问题。sudo 由bundle install
.
有什么提示吗?
ruby - 具有灵活 gem 依赖项的 Ruby Gems?
我即将将一个更大项目的主要功能提取到一个 ruby gem 中。
我创建的小框架使用了一些额外的 gem,用于不同的导入/导出选项。IE。
- FasterCSV(用于 ruby 1.8)用于 csv 导入/导出
- 用于 csv 导入/导出的 Nokogiri
- GraphViz 用于图形...
- PDF格式
- ...
我不希望 gem 的用户在不需要时安装和加载所有 gem。
这有可能吗?
ruby-on-rails - Rails 3,捆绑器,LoadError
我正在编写一个应用程序,它将在指定文件夹中运行脚本,然后记录数字并绘制它们。
我的问题是,如果脚本是 ruby 文件,则脚本内部的 require 语句会失败,因为 bundler 似乎对加载路径做了一些时髦的事情。
运行rails runner Datasource.run_jobs
失败:
ruby-on-rails - 让 bundler 为不同的平台使用不同的 gem
我正在将我们的 Rails 2.3.8 应用程序之一升级到 Rails 3,并且遇到了一个令人讨厌的捆绑器和部署问题。我在 Windows 机器上开发应用程序,但生产环境运行的是 Ubuntu Linux。现在,我的问题是捆绑器忽略了mysql
生产环境中的 gem,Passenger 吐出:“!!!缺少 mysql gem。将它添加到您的 Gemfile:gem 'mysql', '2.8.1'”
这是我的Gemfile
:
如您所见,mysql
gem 已指定。但是,在部署时,bundler 会忽略它。为什么?原因是 Bundler 生成以下内容Gemfile.lock
(仅包括相关部分):
请注意,它包括特定于平台的 gem。这显然不是我想要的,因为当在 Linux 下运行时,该 gem 不适合(并且似乎被忽略)。
那么,Bundler 是否有任何方法来处理这些问题?或者我是否必须记住Gemfile.lock
每次在我的开发机器上运行 bundle install 时手动更改生成的 mysql gem 版本?
先感谢您!
更新
捆绑器团队似乎意识到了这个问题。
ruby-on-rails - Rails 3中Gemfile中的组?
在我在 Rails 中的 Gemfile 中,我有这些组:
这是什么意思?