Tag: rubygems

如何更改OS 10.6.6 Ruby 1.8和Rails 3上安装ruby gem的路径

无论我使用gem install还是bundle install我的gem,它们都不起作用。 有时sudo gem install会让gem工作。 我运行了gem list -d和which gem命令,似乎我的系统配置为所有gem都安装到“/Library/Ruby/Gems/1.8”但我的环境期望它们在“/ usr / bin /gem”。 我怎么能正确纠正这个? 我的印象是’bundle’应该能够安装gem的本地特定应用程序副本?

Bundler找不到gem“rack”的兼容版本:

我是Ruby的新手,但实际上如果我不想安装Redmine,我就不需要它。 我按照http://www.redmine.org/projects/redmine/wiki/HowTo_install_Redmine_on_CentOS_Detailed上的说明进行操作 我已经安装了ruby 1.9 rvm install 1.9.3 和rubygem使用… sudo yum install rubygems 然后来创建Gemfile并在其中注册这些gem # file: /var/www/redmine/Gemfile source “http://rubygems.org” gem “rake”, “0.8.3” gem “rack”, “1.1.0” gem “i18n”, “0.4.2” gem “rubytree”, “0.5.2”, :require => “tree” gem “RedCloth”, “~>4.2.3”, :require => “redcloth” # for CodeRay gem “mysql” gem “coderay”, “~>0.9.7” 我的文件看起来像…… source ‘https://rubygems.org’ gem “rake”, “0.8.3” gem “rack”, […]

为什么当gemspec声明一个开放约束时,bundler会坚持一个确切的gem版本号?

我正在为Ruby gem koudoku做贡献,并试图让Travis CI工作。 几天前使用Travis设置了gem,但是所有构建都失败并出现此错误消息( 示例 ): Bundler could not find compatible versions for gem “rack”: In Gemfile: rspec-rails (~> 2.14.0) ruby depends on actionpack (>= 3.0) ruby depends on rack (~> 1.2.1) ruby capybara (>= 0) ruby depends on rack (1.0.0) gemspec中的违规行是: s.add_development_dependency “rspec-rails”, “~> 2.14.0” s.add_development_dependency ‘capybara’ 我分叉了gem并更改了第二行所以它需要capybara版本>= 2.4.0 ,但是当我在Travis上运行我自己的构建时,我得到完全相同的错误 。 令我最困惑的是,当你查看Capybara自己的gemspec时,你可以看到它并没有说明它完全取决于机架版本1.0.0 。 […]

杰基尔服务不起作用

我已经下载了这个github repo的zip – https://github.com/mmistakes/minimal-mistakes 我已经安装了bundler ,我做了bundle install ,它运行得很好。 现在,当我尝试运行jekyll serve -w , 警告:Gem :: Specification.reset期间未解析的规范:jekyll-watch(〜> 1.1)警告:清除未解析的规范。 如果这会导致问题,请报告错误。 配置文件:/home/kenden/Desktop/minimal-mistakes-master/_config.yml 依赖性错误:哎呀! 看起来你没有安装jekyll-paginate或其中一个依赖项。 为了使用当前配置的Jekyll,您需要安装此gem。 来自Ruby的完整错误消息是:’无法加载此类文件 – jekyll-paginate’如果遇到麻烦,可以在http://jekyllrb.com/help/找到有用的资源! jekyll 3.1.3 | 错误:jekyll-paginate 但是,当我这样做时, gem list ,它显示了jekyll-paginate (1.1.0)以及所有其他已安装的gem。 如何解决这个问题?

Bundler使用旧版本

我使用Bundler作为我的Rails应用程序。 当我列出已安装的bundler gems时,它列出1.4.0.pre.1和1.3.15并运行bundler -v产生1.4.0.pre.1 (这就是我想要的)。 但是,当我尝试运行我的应用程序时,它说当前的bundler版本是1.0.15 。 此版本未作为gem安装,我无法弄清楚如何删除它( gem uninstall bundler -v 1.0.15不能正常工作,因为此版本未作为gem安装)。 我尝试过更新和安装新版本,但没有任何工作。 请帮忙,我已经被困了几个小时。 谢谢。

Rails 3:如何拦截任何http请求

让我说我在app / assets / images / privateimages / myrestrictedimage1.jpg有一个图像如果我试图通过url直接转到图像说像 http://localhost:5555/assets/privateimages/myrestrictedimage1.jpg 我能够查看图像。 我想有办法检查任何http请求,以决定是否允许用户访问它。 我知道我可以在控制器中使用before_filter进行一些预处理,然后继续执行任何控制器操作,但我不认为这会对我有所帮助,因为我需要尝试执行控制器操作才能使其生效。 我听说我可以用rake任务做到这一点但经过多次搜索后我找不到任何类似于我想做的事情。 也许我必须创建一个ruby gem才能做到这一点,但我不知道如何做到这一点。 谁能指出我正确的方向? 谢谢。

如何在ruby中跳过要求?

我可以有条件地跳过在Ruby中要求文件吗? begin require ‘aws-sdk’ rescue LoadError puts “aws-sdk gem not found” end namespace :db do desc “import local postgres database to heroku. user and database name is hardcoded” task :import_to_heroku => [:environment, “db:dump_for_heroku”] do # code using aws-sdk gem end end 在上面的代码中,我可以要求Ruby在rescue LoadError后不要读取 我可以将整个代码包装在条件中,但这是不优雅的。 我next试了return 。 编辑:添加了一个新问题我是否可以有条件地跳过在同一个文件中加载“更多”ruby代码? 。 抱歉。 没有正确地问这个问题

Ruby如果条件在javascript文件中无法正常工作

控制器: def AjaxView @vars= Var.find(:all,:conditions => { :varName=> “one” },:select=>(params[:col])) @col = params[:col] respond_to do |format| format.js { render :layout=>false } end end AjaxView.js.erb if(” == ‘colName’){ $(“#3″).text(” “var”)) %>”); } else if(” == ‘colName2’){ $(“#2″).text(” “var1″)) %>”); } 查看部分: _var.html.erb _var1.html.erb 如果我更改此代码 $(“#3″).text(” “var”) %>”); 提醒(“hi_one”); 和 $(“#2″).text(” “var1″) %>”); 提醒(“hi_two”); 它工作正常。 但是当我把上面的代码放在一起时,它每次都运行代码,不知道为什么,是编译它还是什么? 什么出路? […]

错误:“找不到耙子”,但安装了Rake

为什么我收到此Rake错误: $ rake –version /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs’: Could not find rake (>= 0) amongst [] (Gem::LoadError) from /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec’ from /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb:1231:in `gem’ from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/rake:18:in `’ from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval’ from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `’ 鉴于以下情况: $ gem list *** LOCAL GEMS *** bundler (1.1.3) rake (0.9.2.2) rubygems-bundler (1.0.2) rvm (1.11.3.3) $ which rake /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/rake 具体来说:这个错误消息源于一个错误 ,还是一个配置问题 (如果是后者,那么哪些步骤可以解决它)? 更新:按要求提供额外的终端输出: $ […]

Rails 5“gemify”资产清单文件

更新 得到这个工作状态。 gem可以在这里找到: https : //github.com/jakehockey10/popcircle 原帖: 我试图将一个jquery插件“gemify”作为一种学习体验。 我正在使用的插件也依赖于jquery.easing ,因此在gem的vendor/assets/javascripts文件夹中,我同时拥有jquery.easing.js以及其他jquery插件。 这是我的gem的.rb文件的样子: require ‘/version’ module class Engine < ::Rails::Engine class Engine < ::Rails::Engine initializer '.assets.precompile’ do |app| app.config.assets.precompile += %w( big_round.png one.png two.png three.png four.png five.png ) end end end 这是gem的当前结构: . ├── bin │ ├── console │ └── setup ├── CODE_OF_CONDUCT.md ├── Gemfile ├── Gemfile.lock […]