草庐IT

命令解析

全部标签

ruby-on-rails - Rails 3/Git/Bundler Fatal 无法解析对象

尝试bundle安装时,我收到以下错误Fatalcouldnotparseobject'8c11dd........Giterror:commandgitreset--hard'8c11ddIfthiserrorpersistsyoucantryremovingthecachedirectory.删除缓存目录没有成功,有没有人见过这个错误?Windows764位 最佳答案 当我跨服务器移动存储库时遇到同样的错误。通过删除Gemfile.lock并运行bundleinstall解决了这个问题。这生成了一个更新的Gemfile.lock

ruby 超时和系统命令

我有一个像这样调用系统(bash)命令的ruby​​超时..Timeout::timeout(10){`my_bash_command-c12-otext.txt`}但我认为即使ruby​​线程被中断,实际命令仍在后台运行..这正常吗?我怎样才能杀死它? 最佳答案 我认为你必须手动kill它:require'timeout'puts'startingprocess'pid=Process.spawn('sleep20')beginTimeout.timeout(5)doputs'waitingfortheprocesstoend'P

ruby - 在 linux debian 中找不到 bundle 命令

当我输入bundleinstall时,出现错误“-bash:bundle:commandnotfound”。如何查看是否安装了bundler?gem环境返回以下内容RubyGemsEnvironment:-RUBYGEMSVERSION:1.2.0-RUBYVERSION:1.8.7(2008-08-11patchlevel72)[x86_64-linux]-INSTALLATIONDIRECTORY:/var/lib/gems/1.8-RUBYEXECUTABLE:/usr/bin/ruby1.8-EXECUTABLEDIRECTORY:/var/lib/gems/1.8/bin-R

ruby-on-rails - 如何在 OS X 上使用 ruby​​ 2.3 为 mysql2 gem 解析 "incompatible library version"?

我使用的是ruby​​2.3,在gemfile中,我列出了mysql2gem。但是当我尝试运行rakedb:migrate时,我得到以下信息:/Users/me/.gem/ruby/2.3.0/gems/mysql2-0.4.2/lib/mysql2.rb:31:in`require':incompatiblelibraryversion-/Users/me/.gem/ruby/2.3.0/gems/mysql2-0.4.2/lib/mysql2/mysql2.bundle(fatal)我似乎无法绕过这个。我用Homebrew安装了Mysql5.7,尝试更新包,卸载并重新安装mysql

Ruby 转义 ARGV 参数或字符串作为 shell 命令的参数

好吧,这让我发疯:`ls#{"/media/music/MilesDavis"}`由于“Miles”和“Davis”之间的空格而失败假设我编写了一个ruby​​脚本,用户将文件路径作为参数传递。我如何转义它并提供给shell-out命令。是的,是的,我知道,应该避免掏空。但这是一个人为的例子,我仍然需要这个。我会做system("ls",ARGV[0]),但它不会将ls的标准输出输出作为字符串返回,这正是反引号擅长的地方。如何转义你在shellout中插入的任何内容? 最佳答案 使用require'shellwords'和Shell

ruby - 安装 Homebrew 时出错 - 找不到 Brew 命令

这个问题在这里已经有了答案:InstallingHomebrewonmacOS(24个答案)关闭1年前。我星期五的大部分时间都在尝试在我的新MacBookAir(安装了MountainLion)上安装最新版本的Ruby。我拥有所有最新版本的XCode和命令行工具。但我似乎无法让Homebrew工作!Here'sascreenshotofwhereIkeepgettingstuck(我是新用户,所以不能嵌入这张图片)。如您所见,我使用以下工具安装Homebrew:ruby-e"$(curl-fsSkLraw.github.com/mxcl/homebrew/go/install)"虽然有

ruby - 如何从命令行调用旧版本的 gem?

假设我安装了两个版本的gem(somegem版本0.10.6和0.10.5)并且我想从命令行运行早期版本。我必须卸载较新的版本吗?有没有一种方法可以使用标志来指定我要使用的版本?有点像……somegem/path/to/dir--version0.10.5我查看了ruby​​gems文档,它只描述了当您需要文件中的gem时如何使用特定版本,但没有说明如何从命令行执行此操作。 最佳答案 somegem_0.10.5_/path/to/dir没有指向文档的链接,因为显然没有。 关于ruby-

ruby - 在 Ruby 中解析 HTML 文档的方法?

像PHP中的DOMDocument类,RUBY中是否有任何类(即核心RUBY),用于从HTML文档中解析和获取节点元素值。 最佳答案 目前还没有内置的HTML解析器,但是有一些非常好的解析器可用,特别是Nokogiri.元答案:对于此类常见需求,我建议您查看RubyToolbox地点。您会注意到Nokogiri是HTMLparsers的最佳推荐 关于ruby-在Ruby中解析HTML文档的方法?,我们在StackOverflow上找到一个类似的问题: http

ruby - osx bash 上的树命令

我正在关注screencast在名为pry的ruby上.在8:10,使用了.tree命令,我相信这是一个Unix命令。它似乎在我的系统上不起作用:[24]pry(main)>.tree\Error:therewasaproblemexecutingsystemcommand:tree我已将问题追溯到here,其中pry引用了一个shell命令:Pry::CommandSet.newdocommand(/\.(.*)/,"Alltextfollowinga'.'isforwardedtotheshell.",:listing=>".")do|cmd|ifcmd=~/^cd\s+(.+)/

ruby - 在 Ruby 中解析日期字符串

我有一个字符串20120119,它表示格式为'YYYYMMDD'的日期。我想将此字符串解析为表示日期的Ruby对象,以便我可以进行一些基本的日期计算,例如与今天的日期进行比较。我使用的是1.8.6版(要求)。 最佳答案 您可以使用Ruby标准库中提供的Date.strptime方法:require'date'string="20120723"date=Date.strptime(string,"%Y%m%d")或者,如评论中所建议的,您可以使用Date.parse,因为启发式算法在这种情况下可以正常工作:require'date's