我们有一个相当大的应用程序正在使用heroku ...它是一个使用browsercms作为基础的应用程序,它建立在它之上.Gemfile并不是那么大(我们没有比普通应用程序更多的宝石),但出于某种原因,部署需要15分钟.由于所有资产,将资产编译并推送到s3(通过assetsync)大约需要5分钟,但剩余的10分钟用于此期间:
----> Heroku receiving push
-----> Removing .DS_Store files
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.2.0
Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
Run Code Online (Sandbox Code Playgroud)
任何人都有任何线索为什么这部分需要这么长时间?gemfile锁在repo中,并推送到heroku,这里是我们的gemfile的主旨:https://gist.github.com/aa44bbb06eed97736c20
编辑:我们在轨道3.2.7
我在做的时候遇到了麻烦 bundle update
它似乎卡在这 3 个奇怪的宝石上.. ["spicycode-rcov", "jnunemaker-crack", "tenderlove-frex"]我不知道他们是或他们来自何处..
这是bundle update --verbose卡住的最后几行
Unmet Dependencies: ["spicycode-rcov", "jnunemaker-crack", "tenderlove-frex"]
Fetching gem metadata from https://rubygems.org/
Query List: ["spicycode-rcov", "jnunemaker-crack", "tenderlove-frex"]
Query Gemcutter Dependency Endpoint API: spicycode-rcov jnunemaker-crack tenderlove-frex
Fetching from: https://rubygems.org/api/v1/dependencies?gems=spicycode-rcov,jnunemaker-crack,tenderlove-frex
HTTP Success
Query List: []
Run Code Online (Sandbox Code Playgroud)
我的 gemfile 是
source 'https://rubygems.org'
ruby "1.9.3"
gem 'rails'
gem 'pg'
gem 'devise'
gem 'devise_invitable'
gem 'thin'
gem 'geocoder'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'bootstrap-sass-rails'
gem 'uglifier', …Run Code Online (Sandbox Code Playgroud) 如果我有多个组中需要的一系列宝石,我可以让组从基础组继承吗?
\n\n我知道我能做到:
\n\n\ngem "example", {:groups=>[:group_1, :group_2]}\n
或者:
\n\ngroup :group_1, :group_2 do\n gem "example"\nend\nRun Code Online (Sandbox Code Playgroud)\n\n但有没有办法做这样的事情:
\n\ngroup :base do\n gem "example"\nend\n\ngroup :group_1 < :base do\n \xe2\x80\xa6\nend\n\ngroup :group_2 < :base do\n \xe2\x80\xa6\nend\nRun Code Online (Sandbox Code Playgroud)\n 我在所有Rails项目中都使用了很多宝石,但这不是项目'Gems的一部分,例如用于管理POW的粉末.
使用全局Gemfile管理这些是有意义的,但我看不到任何这样的例子.
我应该如何在项目gemfiles中管理我不想要的全局Gems?当我设置新机器等时,单点安装会很好.
我正在使用chruby和ruby-install来管理我的Ruby版本.
在我的gemfile中,我有类似的东西:
gem 'net-sftp', '2.1.1', :require => 'net/sftp'
gem 'backup', '3.0.27'
gem 'watu_table_builder', :require => 'table_builder'
gem 'browser', '0.1.6'
Run Code Online (Sandbox Code Playgroud)
在Gemfile中你需要一个要求吗?我也找到了类似的东西:require => false.救命?
有人请帮助我了解一个ruby应用程序如何管理应用程序的gemfile和rvm gemsets.如果我目前正在使用Gemset,有一堆已安装的宝石,而且我的gemfile中也有宝石,那么Ruby应用程序是使用gemfile中的gem还是应用程序的gemset?
我正在尝试在我的 Kali 盒子上运行以下内容,请参阅错误。
root@kali:~# ruby /usr/share/metasploit-framework/tools/nasm_shell.rb
Could not find rake-10.4.2 in any of the sources
Run `bundle install` to install missing gems.
Run Code Online (Sandbox Code Playgroud)
然后我运行 bundle install 并收到以下错误:
Could not find gem 'pg (= 0.12.4) ruby' in any of the gem sources listed in your Gemfile or available on this machine.
Run Code Online (Sandbox Code Playgroud)
错误不断!我已经安装了 RVM,因为这也是一个问题。我运行了捆绑更新,没有运气。等..
我的 Gemfile 如下:
require 'pathname'
# During build, the Gemfile is temporarily moved and
# we must manually define the project root
if ENV['MSP_ROOT']
root = Pathname.new(ENV['MSP_ROOT'])
else
root …Run Code Online (Sandbox Code Playgroud) 我执行以下命令时遇到了问题
bundle install --without development test postgresql sqlite
Run Code Online (Sandbox Code Playgroud)
并得到以下错误.
redmine@zaps-VirtualBox:~/redmine$ bundle install --without development test postgresql sqlite
[!] There was an error parsing `Gemfile`: (<unknown>): found character that cannot start any token while scanning for the next token at line 10 column 13. Bundler cannot continue.
# from /opt/redmine/redmine-3.0.4/Gemfile:57
# -------------------------------------------
# database_config = YAML::load(ERB.new(IO.read(database_file)).result)
# adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
# -------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我已经使用这个工具http://www.yamllint.com/检查了YAML语法,但没有任何动摇.
正如在代码中看到的那样,我评论了相关的行并简单地重写了它(一个IT人员建议使用制表语法或空格作为问题)也无济于事.
我的Gemfile如下;
if Gem::Version.new(Bundler::VERSION) < Gem::Version.new('1.5.0')
abort "Redmine requires Bundler 1.5.0 …Run Code Online (Sandbox Code Playgroud) 为什么要创建指定 2.6.3 的 Gemfile?我如何让它创建一个指定 2.7.0 的 Gemfile ???
谢谢
我正在尝试建立一个私人的geminabox服务器来容纳我的项目正在开发的一些宝石。我已经设置了服务器,乘客nginx将geminabox作为机架应用程序运行。我无需使用SSL就可以捆绑指向服务器的安装。
由于裸HTTP流量从来都不是理想的,因此我也想添加SSL。为了获得概念验证的效果,我添加了SSL证书,并验证仍然可以看到已安装gem的geminabox前端。
当我回到我的ruby项目时,我运行捆绑安装并获得:
Could not verify the SSL certificate for https://********.com/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see bit.ly/ruby-ssl. To connect without using SSL, edit your Gemfile sources and change 'https' to 'http'.
通过链接,错误消息给了我,我决定首先添加〜/ .gemrc及其内容:
:ssl_verify_mode: 0
(不理想,也不是永久解决方案)。现在我得到:
Fetching source index from https://***.com/
Resolving dependencies...
Could not verify the SSL certificate for
https://***.com/quick/Marshal.4.8/sqlite3-1.3.10-x86-mswin32-60.gemspec.rz.
There is a chance you …