草庐IT

Linux之grep命令详解

全部标签

ruby - 您如何为 Linux 的 ruby​​ gem 预编译 native 扩展?

我们有一个ruby​​应用程序,该应用程序依赖于具有native扩展的gem(在本例中为Nokogiri)。但是,由于各种原因,我们无法在我们的生产主机上安装该gem的构建先决条件(例如build-essential、libxslt-dev、ruby-dev等)。是否有(标准的?)方法可以使用预构建的native扩展重新打包gem?这应该是可能的(在Windows上执行此操作似乎是相当标准的),但我找不到关于该主题的任何文档。请注意,我们只需要支持一个平台,所有系统库的已知版本(Ubuntu9.04Server64位,Ruby1.8.7)。更新:我们正在使用Bundler,所以我们希望

ruby-on-rails - 从命令行安装 gem 与更改 gemfile

我试图了解在安装gems时到底发生了什么。起初我认为使用“geminstallgem_name”命令(然后是“bundleinstall”)将确保我拥有正确的文件和依赖项,然后它会更新gemfile。但我注意到,每当我使用命令行添加gem时,它都不会出现在gemfile中,但我仍然可以使用它的功能。那么是否有任何理由使用注释“geminstallgem_name”而不是将gem名称添加到gemfile? 最佳答案 使用Gemfile的原因是您可以一次安装所有必需的gem。假设您在一个开发团队中工作,一位新成员开始为您的应用程序做贡献

ruby - Emacs 在运行编译命令时忽略了我的路径

我正在尝试让编译命令(rakecucumber)在我的MacOSX系统上使用特定的ruby​​版本运行,我目前在终端中使用rvm来执行此操作。我的~/.MacOSX/environment.plist中有正确的路径,但emacs坚持要在这条路径之前添加,因此使其无用。我也试过:(when(equalsystem-type'darwin)(setenv"PATH"(concat"/Users/fearoffish/.rvm/bin:/Users/fearoffish/.rvm/rubies/ruby-1.8.7-p249/bin:/Users/fearoffish/.rvm/gems/r

ruby-on-rails - 为什么 'bundle install --without production' 命令在更新后不需要 '--without production'?

为什么第二个命令不$bundleinstall不需要--withoutproduction(因为这是教程中的内容,所以我认为它是正确的)不需要它背后发生了什么/原因是什么?来自http://ruby.railstutorial.org/chapters/a-demo-app#sec-demo_users_resource$bundleinstall--withoutproduction$bundleupdate$bundleinstall 最佳答案 我相信这是因为bundler在您的项目文件夹中创建了一个.bundle/config

ruby - 在 Ruby 中形成卫生 shell 命令或系统调用

我正在构建一个守护进程来帮助我管理我的服务器。Webmin工作正常,就像打开服务器的shell一样,但我更希望能够从我设计的UI控制服务器操作,并向最终用户公开一些功能。守护进程将从队列中获取Action并执行它们。但是,由于我将接受用户的输入,我想确保不允许他们将危险的东西注入(inject)到特权shell命令中。这里有一个片段可以说明我的问题:defperformsystem"usermod-p#{@options['shadow']}#{@options['username']}"end解释更多的要点:https://gist.github.com/773292我不确定典型的输

ruby - Amazon Linux 最新 ruby

AmazonLinux2012.03现在带有ruby​​1.9.3安装它(根据文档)sudoyuminstallruby19但是ruby-v显示1.8.7。我如何将它切换到1.9.3(如果它已经存在,就不需要使用RVM是吗?) 最佳答案 在AmazonLinux上执行此操作的正确方法是:sudoyumupdate(togetlatestversionofAmazonLinux(2013.09attimeofthisanswer)yuminstallruby19alternatives--setruby/usr/bin/ruby1.9

ruby-on-rails - Rails 服务器不通过命令 "Rails s"启动

我是ruby​​和rails的新手,我在ubuntu中安装了rails。但是当我通过键入“railss”转到启动服务器时,它不会启动并出现以下消息。但我可以通过命令railsnewnew_project创建一个新项目。请Rails专家帮助我。root@ubuntu:~#railssUsage:railsnewAPP_PATH[options]Options:-j,[--javascript=JAVASCRIPT]#PreconfigureforselectedJavaScriptlibrary#Default:jquery-m,[--template=TEMPLATE]#Pathtoa

ruby - 使用自定义环境运行命令行

在Ruby中,我希望能够:运行命令行(通过shell)在不使用>2&1的情况下同时捕获stdout和stderr(最好是单个流)(此处的某些命令会失败)使用额外的环境变量运行(不修改ruby​​程序本身的环境)我了解到Open3允许我执行1和2。cmd='a_prog--arg...--arg2...'Open3.popen3("#{cmd}"){|i,o,e|output=o.read()error=e.read()#FIXME:don'twantto*separateout*stderrlikethisrepr="$#{cmd}\n#{output}"}我还了解到popen允许您在

Linux 上的 Ruby PTY 在没有 EOF 的情况下消失,引发 Errno::EIO

我正在编写一些代码,它获取一个文件,将该文件传递给多个二进制文件之一进行处理,并监视转换过程中的错误。我已经在OSX上编写并测试了以下例程,但linux因我不清楚的原因而失败。#runthecommand,capturetheoutputsoitdoesn'tdisplayPTY.spawn(command){|r,w,pid|untilr.eof?do##markputsr.readlineend}运行的命令变化很大,##标记处的代码已简化为本地回显以尝试调试问题。命令执行,脚本在终端中打印预期的输出,然后抛出异常。它在Debian系统上产生的错误是:Errno::EIO(Input

ruby-on-rails - 如何在 rails 中通过命令行运行 rake 任务

我在名为file_locker_task.rake的文件中定义了一个rake任务,如下所示namespace:myspacedotask:process=>:environmentdoFileLocker.lock_filesendend如何从命令行执行此rake任务?我试过:rakemyspace:process和rakeprocess但两者都抛出如下错误:rakeaborted!Don'tknowhowtobuildtask'process' 最佳答案 从您的Rails主目录运行rake-T-A以查看rake知道的所有任务。你的