Tag: 打包机

我应该在我的Gemfile中指定确切的版本吗?

我注意到在rubygems.org上有很多gembuild议你用主版本而不是确切版本来指定它们。 例如… haml-rails gem … gem "haml-rails", "~> 0.3.4" # "$ bundle install" will acquire the # latest version before 1.0. 不过,根据Bundler文档 ,我觉得最好能find像这样的确切版本。 gem "haml-rails", "0.3.4" 所以你的haml-railsgem,它的所有依赖不会漂移。 如果几个星期后在另一台计算机上签出项目并运行$ bundle install您将拥有与指定的所有内容完全相同的版本。 我已经看到了点发布的东西,我认为Bundler的整个想法的一部分是“ Bundle.lock ”所有的gem版本。 但是在rubygems.org上,他们使用“〜”很多,所以我可能错过了一些东西? 任何澄清将有助于我理解Bundler和gempipe理。

钢轨捆绑安装生产只

道歉,如果这是一个RTFMtypes的问题,但我还是新的rails / ruby​​ / bundler,有点困惑。 在我们的config/application.rb文件中有这个捆绑器段: if defined?(Bundler) # If you precompile assets before deploying to production, use this line Bundler.require(*Rails.groups(:assets => %w(development test))) # If you want your assets lazily compiled in production, use this line # Bundler.require(:default, :assets, Rails.env) end 在我们的Gemfile我们使用不同的组,例如 group :development, :test do gem "rspec-rails", ">= 2.7.0", :group => [:development, :test] […]

Bundler:您正在尝试在更改Gemfile后以部署模式进行安装

我对bundler和capistrano很新,我正在尝试将它们一起使用。 当我尝试部署时,我收到以下消息: 您正在尝试在更改Gemfile后以部署模式进行安装。 在别处运行`bundle install'并将更新的Gemfile.lock添加到版本控制。 我不知道如何去满足抱怨的系统,我不明白为什么投诉会出现,因为我在doc中读到: 如果Gemfile.lock确实存在,并且已经更新了Gemfile(5),bundler将使用Gemfile.lock中的依赖关系来处理所有未更新的gem,但会重新parsing您更新的gem的依赖关系。 您可以在CONSERVATIVE UPDATING下find更多关于此更新过程的信息。 我认为这意味着Bundler可以处理我的Gemfile不符合预期的事实。 任何帮助? 规格:Ruby 1.9.3,Rails 3.2.3,Capistrano 2.12.0,Bundler 1.1.4,Windows 7,部署到Posix机器。 编辑:我的Gemfile包含如下的逻辑块: unless RbConfig::CONFIG['host_os'] === 'mingw32' # gem 'a' … end

铁轨捆绑干净

更新一个包后,你会有一些可能已经过时的gem – 因为该gem的新版本已经安装。 bundle可执行文件中没有这样的命令,即bundle clean 。 如何摆脱这些过时的gem? 这是一个尝试减less我的Rails应用程序中的slu size大小。

为什么不打包器安装JSONgem?

试图运行cap production deploy时出现以下错误。 DEBUG [dc362284] Bundler::GemNotFound: Could not find json-1.8.1.gem for installation DEBUG [dc362284] An error occurred while installing json (1.8.1), and Bundler cannot continue. DEBUG [dc362284] Make sure that `gem install json -v '1.8.1'` succeeds before bundling. 注意到这个部署工作起来可能很重要,比升级到Ruby 2.1.0去除编码错误更为重要。 我本地升级工作正常。 我运行rvm install 2.1.0和rvm use 2.1.0然后更改我的.ruby-version文件以反映这个Ruby升级。 bundle install命令在本地工作,但是当我到达目标服务器并运行这个命令时产生相同的上述错误。 如果我运行gem list我可以看到这个gem列表中。 … jquery-rails (3.0.4) json (1.8.1) […]

使用–no-rdoc和–no-ri与bundler

当使用gem install gem_name我可以通过–no-rdoc和–no-ri开关来跳过在安装时为gem生成RDoc / RI文档。 有没有类似的方式来做到这一点与bundle install ?

找不到Gemfile

我当然不是Ruby开发者,但是我的服务器上有一个使用Ruby,Gems和Bundler的应用程序。 我正尝试在另一个用户帐户下安装另一个Ruby,但在同一个VPS上。 当我去跑步 bundle install 我得到以下错误: 找不到Gemfile 我可以删除./bundle目录的内容,以便重新获取所有Gem来清除错误,但是这会对使用相同Gems和Bundler的其他应用程序产生影响吗? 我不想冒另一个应用程序的风险。

bundle:找不到命令

我在一个VPS,Ubuntu的10.04,轨道3,ruby和MySQL主机上安装正确的一些教程。 如果我运行bundle check或bundle install我会得到错误“-bash:bundle:command not found”。 从gem list –local我看到'bundler( gem list –local )'被安装。 我不知道怎么回事 gem environment回报: RubyGems Environment: – RUBYGEMS VERSION: 1.3.7 – RUBY VERSION: 1.8.7 (2010-04-19 patchlevel 253) [i686-linux] – INSTALLATION DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8 – RUBY EXECUTABLE: /opt/ruby-enterprise-1.8.7-2010.02/bin/ruby – EXECUTABLE DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/bin – RUBYGEMS PLATFORMS: – ruby – x86-linux – GEM PATHS: – /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8 – […]

如何在我的Gemfile中指定本地.gem文件?

我有几个gem文件,我通过gem install xx.gem 。 我可以告诉Bundler使用它们吗? 或者我必须指定源path?

了解Gemfile.lock文件

运行bundle install命令后,在工作目录中创build“Gemfile.lock ”。 那个文件里的指令是什么意思? 例如,让我们拿下面的文件: PATH remote: . specs: gem_one (0.0.1) GEM remote: http://example.org/ specs: gem_two (0.0.2) gem_three (0.0.3) gem_four (0.0.4) PLATFORMS platform DEPENDENCIES gem_two gem_one! “ PATH ”,“ GEM ”,“ PLATFORMS ”和“ DEPENDENCIES ”是什么形容的? 他们都需要吗? 什么应该包含“ 远程 ”和“ 规格 ”的子目录? “ DEPENDECIES ”组中的gem名称之后的感叹号是什么意思?