仅当开发人员在特定操作系统上时,才需要在开发中安装一些gems。在我的特定情况下,我想为Linux创建一个小组。
我如何为此分组?
我正在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) 从Gemfile生成Gemfile.lock之后,是否有任何工具可以往返回冻结Gemfile中的版本.我宁愿避免手动操作.
背景:在Gems上冻结次要版本是一个好习惯,例如,如果Gemfile.lock是2.4.1,我想更新Gemfile以包含〜> 2.4(如此处所述).
我有一个托管在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应用程序中的任何内容.谢谢
我们有一个带有自定义 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 中的代码?
我正在尝试修改一个当前依赖于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?
我正在使用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解决问题.我做错了什么?
我在 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 上执行此操作没有问题。
我正在从 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) 文件
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)