标签: gemfile

如何为特定操作系统创建gemfile组?

仅当开发人员在特定操作系统上时,才需要在开发中安装一些gems。在我的特定情况下,我想为Linux创建一个小组。

我如何为此分组?

ruby gem cross-platform gemfile

5
推荐指数
0
解决办法
3626
查看次数

Capybara :: ElementNotFound:无法找到xpath"/ html"

我正在http://ruby.railstutorial.org/chapters/static-pages上关注Ruby on Rails教程并遇到以下错误

 StaticPages Home page should have the content 'Sample App'
 Failure/Error: page.should have_content('Sample App')
 Capybara::ElementNotFound:
   Unable to find xpath "/html"
 # (eval):2:in `text'
 # ./spec/requests/static_pages_spec.rb:7:in `(root)'
Run Code Online (Sandbox Code Playgroud)

我的Gem文件如下

source 'http://rubygems.org'

gem 'rails', '3.0.10'

gem 'jruby-openssl'

gem 'activerecord-jdbcsqlite3-adapter'
group :development, :test do
   gem 'webrat'
   gem 'rspec-rails', ">= 2.10.0"
   gem 'capybara', ">= 1.1.2"
end
Run Code Online (Sandbox Code Playgroud)

如何摆脱这个错误并通过rspec?源文件

require 'spec_helper'

describe "StaticPages" do

  describe "Home page" do

    it "should have the content 'Sample App'" do
      visit '/static_pages/home'
      # puts page.html
      page.should have_content('Sample …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails capybara gemfile

5
推荐指数
1
解决办法
1万
查看次数

从Gemfile.lock更新Gemfile,以冻结gems

从Gemfile生成Gemfile.lock之后,是否有任何工具可以往返回冻结Gemfile中的版本.我宁愿避免手动操作.

背景:在Gems上冻结次要版本是一个好习惯,例如,如果Gemfile.lock是2.4.1,我想更新Gemfile以包含〜> 2.4(如此处所述).

gem ruby-on-rails bundler gemfile

5
推荐指数
1
解决办法
813
查看次数

Git标记和rails gemfile

我有一个托管在github上的gem,还没有推到rubygems,我在这个gem的master分支中添加了一个标签:

git tag -a v0.1.0 -m "gem version 0.1.0"
git push origin -tags
Run Code Online (Sandbox Code Playgroud)

然后在我在github上的rails应用程序中我编辑了我的gemfile,如下所示:

gem 'your-gem', git: 'git://github.com/your-repo/your-gem.git', tag: 'v0.1.0'
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我将其他更改合并到我的gem的master分支中时,我的rails应用程序仍然指向我制作标记之前的最后一次提交?我只是想确保添加对gems master分支的其他更改不会破坏rails应用程序中的任何内容.谢谢

ruby git ruby-on-rails github gemfile

5
推荐指数
1
解决办法
3303
查看次数

RubyMine 无法识别来自 git 存储库的 gem

我们有一个带有自定义 gem 的 git 存储库。要安装它 Gemfile 有一行:

gem 'my-gem', :git => 'git@192.168.1.100:my-gem.git'
Run Code Online (Sandbox Code Playgroud)

安装 gem 后,它不会显示在 RubyMine 的外部库中。

如何使 gem 显示在外部库中并自动完成 gem 中的代码?

git rubygems autocomplete rubymine gemfile

5
推荐指数
1
解决办法
639
查看次数

在ruby .gemspec文件中,如何指定依赖项的多个版本?

我正在尝试修改一个当前依赖于activeresource定义为的gem:

s.add_dependency              "activeresource", "~> 3.0"
Run Code Online (Sandbox Code Playgroud)

为了让gem使用Rails 4,我需要扩展依赖项以使用activeresource的版本3或4.我不想简单地添加以下内容,因为它可能会在以后引起问题:

s.add_dependency              "activeresource", ">= 3.0"
Run Code Online (Sandbox Code Playgroud)

有没有办法指定可接受的版本列表?〜> 3.0或〜> 4.0?

ruby ruby-on-rails gemfile

5
推荐指数
1
解决办法
1792
查看次数

rbenv您的Ruby版本是2.0.0,但您的Gemfile指定为2.1.2

我正在使用rbenv,执行时出现跟随错误rails s

您的Ruby版本是2.0.0,但您的Gemfile指定为2.1.2

我正在读这个帖子:Mavericks,RBENV,你的Ruby版本是2.0.0,但是你的Gemfile指定了2.1.1

但错误仍然存​​在.

rails -v
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2
Run Code Online (Sandbox Code Playgroud)

和命令

sudo gem install bundler 
rbenv rehash
Run Code Online (Sandbox Code Playgroud)

$ which ruby /usr/bin/ruby

$ bundle exec which ruby Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2

doenst解决问题.我做错了什么?

ruby ruby-on-rails gemfile rbenv

5
推荐指数
1
解决办法
4685
查看次数

Gemfile 中的环境变量

我在 Gemfile 中使用环境变量时遇到问题。
我正在尝试使用 API 密钥从私有 Github 存储库加载 gem:

auth = ENV['SECRET_GIT']
gem 'foobar', git: "https://#{auth}:x-oauth-basic@github.com/Foo/Bar.git"
Run Code Online (Sandbox Code Playgroud)

但如果我是puts我的ENV['SECRET_GIT']变量,它就什么也没有。
我虽然你可以这样做,因为这些(尤其是第一个):
- https://devcenter.heroku.com/articles/bundler-configuration#gem-source-username-and-password
- https://stackoverflow .com/a/7338154/5353193
-使用 Gemfile 中的环境变量部署到 Heroku

捆绑程序版本 1.14.6
ruby 2.4.0p0

谢谢你的帮助

编辑
我正在尝试在我的本地环境中执行此操作,我想在 heroku 上执行此操作没有问题。

ruby-on-rails heroku bundler gemfile

5
推荐指数
1
解决办法
5494
查看次数

无法使用捆绑包安装 gem

我正在从 Jenkins 管道内的 docker 文件旋转一个 docker 容器(alpine base)。容器安装: ruby-rake and ruby-bundler 并且我能够毫无问题地进行捆绑

我在此 jenkins 管道中的工作目录有 Gemfile 和 Gemfile.lock 我尝试在此工作目录中运行捆绑安装

当我尝试时:

bundle install #running as a shell command in jenkins 
Run Code Online (Sandbox Code Playgroud)

我得到:

`/` is not writable.
Bundler will use `/tmp/bundler/home/unknown' as your home directory temporarily.
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.

Resolving dependencies.............
Fetching rake 10.3.2

Retrying download gem from https://rubygems.org/ due to error (2/4): Errno::ENOENT No such file or directory @ rb_sysopen - /.gem/ruby/2.4.0/cache/rake-10.3.2.gem
Retrying download gem …
Run Code Online (Sandbox Code Playgroud)

ruby bundler gemfile gemfile.lock jenkins-pipeline

5
推荐指数
1
解决办法
4256
查看次数

加载“postgresql”活动记录适配器时出错。缺少它所依赖的宝石?pg 不是捆绑包的一部分。将它添加到您的 Gemfile

文件

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
Ruby '2.3.3'
gem 'rails', '~> 5.2.1'
gem 'bootstrap-sass', '3.3.7'
gem 'puma', '~> 3.11'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'duktape'
gem 'coffee-rails', '~> 4.2'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
#gem 'redis', '~> 4.0'
gem 'bcrypt', '3.1.12'
#gem 'mini_magick', '~> 4.8'
#gem 'capistrano-rails', group: :development
gem 'bootsnap', '>= 1.1.0', require: false
group :development, :test do
end
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
gem …
Run Code Online (Sandbox Code Playgroud)

gemfile

5
推荐指数
1
解决办法
4198
查看次数