草庐IT

bin-without-hadoop

全部标签

ruby - bundler 的可执行文件 "bundle"与/usr/local/bin/bundle 冲突 覆盖可执行文件?

当我安装jekyllbundle并输入命令geminstalljekyllbundler时。终端弹出bundler的可执行文件“bundle”与/usr/local/bin/bundle冲突的消息覆盖可执行文件? 最佳答案 在我的例子中,我必须覆盖/usr/local/bin/bundle和/usr/local/bin/bundler才能成功安装bundler-1.16.6.否则,在运行jekyllnewwebsitedir时,会出现以下消息的错误。Bundler:ruby:Nosuchfileordirectory--/usr/l

ruby-on-rails - 旧 Rails 应用程序出现奇怪的 Rails 错误 "permission denied: bin/rails"

每当我运行rails(或任何rails命令)时,我都会收到此错误_rails_command:2:权限被拒绝:bin/rails仅当我在一些旧的rails应用程序目录中时。在这些目录中,bundleexecrailsc命令有效,但rails甚至rails-v无效。背景:我将我的编码工作区保存在保管箱文件夹中。现在我最近安装了Manjaro,因此我从以前的操作系统下载的所有Rails应用程序我称之为旧Rails应用程序。简而言之:除了旧的Rails应用程序外,Rails在任何地方都可以正常工作。bundleexecrailsc工作正常。我试过的Ruby版本:2.0.0(rvm),2.1.

ruby - 使用 WWW :Mechanize to download a file to disk without loading it all in memory first

我正在使用Mechanize来简化某些文件的下载。目前我的脚本使用以下行来实际下载文件...agent.get('http://example.com/foo').save_as'a_file_name'然而,这会将完整的文件下载到内存中,然后再将其转储到磁盘。你如何绕过这种行为,直接下载到磁盘?如果我需要使用WWW:Mechanize以外的东西,那么我将如何使用WWW:Mechanize的cookies呢? 最佳答案 您真正想要的是Mechanize::Downloadhttp://mechanize.rubyforge.org/

ruby - "gem install"可以配置为默认安装/usr/bin/外的可执行文件吗?

默认情况下,当您sudogeminstallthegemname时,它会将可执行文件安装到/usr/bin/有办法改变吗?例如,要将它们安装到/usr/local/rubygems/bin(或任何其他路径)?路径似乎没有硬编码到gemspec文件中,所以我不明白为什么这不可能(尽管我对Ruby/Gems的经验很少) 最佳答案 我将此添加为答案,以便当我再次遇到此问题时很明显:)首先,将/var/lib/gems/1.8/bin/中的所有bin移动到/usr/bin/。如果您不这样做,那么卸载或更新gem将不会从原始bin目录中删除二

ruby-on-rails - 迁移正在等待;运行 'bin/rake db:migrate RAILS_ENV=development' 来解决这个问题[无法继续]

我似乎有一个关于RubyonRails迁移过程的循环问题。我正在关注介绍文章,我已经到了需要创建我的第一个表的地步。我已经运行了以下,[tims@web2working_ror]#railsgeneratemodelHomepagefirst_name:stringlast_name:stringemail:stringmessage:textinvokeactive_recordcreatedb/migrate/20131119203948_create_homepages.rbcreateapp/models/homepage.rbinvoketest_unitcreatetest

ruby-on-rails - 附加到 rake db :seed in rails and running it without duplicating data

Rakedb:seed使用应用程序的默认数据库值填充您的数据库,对吗?那么如果您已经有一个种子并且需要添加到它(您添加一个需要种子的新功能)怎么办?根据我的经验,当我再次运行rakedb:seed时,它已经添加了现有内容,因此现有内容变成了两倍。我需要的是添加一些种子,当运行时,它应该只添加最新的种子,而忽略现有的种子。我该怎么做?(我通常采用的肮脏的、菜鸟的方式是截断我的整个数据库然后再次运行种子,但这在生产中不是很聪明,对吧?) 最佳答案 更简洁的方法是使用find_or_create_by,如下所示:User.find_or_

ruby-on-rails -/usr/bin/env ruby​​ 没有这样的文件或目录 : Using capistrano 3, capistrano/rbenv、capistrano/bundler 和 capistrano/rails(使用 rails 4)

我正在使用capistrano、capistrano/rbenv、capistrano/bundler和capistrano/rails。我在capistrano编译Assets的步骤中得到这个错误:DEBUG[49a50df6]/usr/bin/env:DEBUG[49a50df6]rubyDEBUG[49a50df6]:NosuchfileordirectoryDEBUG[49a50df6]在生产服务器中/usr/bin/envruby​​-v是正确的。我知道这一点:why-does-something-work-in-my-ssh-session-but-not-in-capis

ruby - 导轨 4 : Append to a "has_many" relation without saving to DB

在Rails3中,可以做类似some_post.comments.append(some_comment)的事情其中一些帖子是“有很多”评论的模型实例。我在Rails4中面临的问题是append方法现在保存到数据库(如push和),我只需要“附加”而不将附加的对象保存到数据库。我们如何在Rails4中实现这一点?我不能使用some_post.comments.build(some_comment.attributes)因为我需要保留some_comment中已经存在的其他关系实例。 最佳答案 在Rails中优雅地做到这一点非常困难。

ruby - ruby 程序开始时 "#!/usr/local/bin/ruby -w"的用途是什么

在ruby​​程序的开始写下面的命令有什么用?#!/usr/local/bin/ruby-w它是操作系统特定的命令吗?它对Windows上的ruby有效吗?如果不是,那么Windows中的等效命令是什么? 最佳答案 它被称为Shebang.它告诉程序加载器使用什么命令来执行文件。因此,当您运行./myscript.rb时,它实际上会转换为/usr/local/bin/ruby-w./myscript.rb。Windows出于同样的目的使用文件关联;shebang行没有效果(编辑:请参阅FMc的回答)但也不会造成任何伤害。一种可移植的

ruby-on-rails - Rails 路线 : GET without param :id

我正在开发基于Rails的RESTAPI。要使用此API,您必须登录。关于这一点,我想在我的用户Controller中创建一个方法me,它将返回已登录用户信息的JSON。因此,我不需要在URL中传递:id。我只想调用http://example.com/api/users/me所以我尝试了这个:namespace:api,defaults:{format:'json'}doscopemodule::v1,constraints:ApiConstraints.new(version:1,default:true)doresources:tokens,:only=>[:create,:de