标签: ruby

如何在 Arch 上安装 Ruby 1.9.3?

维基建议使用,$sudo pacman -S ruby1.9但包不存在......我宁愿不从源代码编译它,但如果没有人知道,我可以。

arch-linux pacman ruby

3
推荐指数
1
解决办法
2080
查看次数

无法在 CentOS 中安装 libyaml-devel libffi-devel

我正在尝试通过 RVM 安装最新的 ruby​​。我无法安装 install,因为它需要 libyaml-devel 和 libffi-dev。当我尝试安装它们时,我收到错误消息,没有找到包

[root@dev workspace]# rvm requirements
Checking requirements for redhat.
Enabling optional repository
Username: ^C
User interrupted process.

Installing requirements for redhat.
Installing required packages: libyaml-devel, libffi-devel..
Error running 'requirements_centos_libs_install libyaml-devel libffi-devel',
showing last 15 lines of /usr/local/rvm/log/1467891146/package_install_libyaml-devel_libffi-devel.log
+ __rvm_try_sudo yum install -y libyaml-devel libffi-devel
+ typeset -a command_to_run
+ typeset sudo_path sbin_path missing_paths
+ command_to_run=("$@")
+ ((  UID == 0  ))
+ yum install -y libyaml-devel libffi-devel
Failed to set locale, defaulting to …
Run Code Online (Sandbox Code Playgroud)

centos ruby rvm

3
推荐指数
1
解决办法
9985
查看次数

Linux 中的“打开方式”自定义可执行文件如何工作?

我有一个名为foo.txt. 我想将我自己的程序与 mime 类型关联起来,.txt以便我的程序打开一个终端并将 的内容显示foo.txt为标准输出。我更喜欢 Ruby,但 BASH 脚本也可以。

一个有效的示例:我可以使用firefox. 我想以txt同样的方式用我自己的可执行文件打开文件。

我不知道如何才能真正让它发挥作用?

示例 2:我可以.txt使用 Geany/Mousepad/Atom/Code 等打开文件。假设我制作了一个像鼠标垫一样的工具。我的程序应该如何处理.txtmimetype?

到目前为止,我已经用 Ruby 制作了一个小型 GUI 程序,并使其可执行,并尝试foo.txt用我的程序打开(我使用 Nemo 文件管理器)。我已经在 Ruby 程序中捕获了参数和标准输入,因此它将显示参数和 STDIN(如果有)。.txt但是,如果我用它打开文件,我的程序甚至不会显示窗口!

我该如何达到这个结果?

bash ruby mime-types

3
推荐指数
1
解决办法
2210
查看次数

如何以不同的用户身份通过​​管道传输到 bash

我正在运行一个实验来解决一个更大的问题。对于实验,我需要以rvm没有shell的用户身份安装。

要安装 rvm,请使用以下命令

\curl -L https://get.rvm.io | bash

我将如何以不同的用户身份运行以下命令?

这就是我正在尝试做的,但它不起作用。

sudo -u foo -H \curl -L https://get.rvm.io | bash 
sudo -u foo -H which rvm  
sudo: rvm: command not found
Run Code Online (Sandbox Code Playgroud)

bash sudo software-installation ruby

2
推荐指数
1
解决办法
1633
查看次数

如何测试具有值的文件?

我在用

source ~/.rvm/scripts/rvm
repos="repo_1_ruby_193 repo_2_ruby_211 repo_3_ruby_191"
> rvm_check.txt
for repo in $repos
do
  cd ~/zipcar/$repo 2>rvm_check.txt
  cd ..
  echo $repo
  if [ -z `cat rvm_check.txt | grep not` ] # line 9
    then
      echo "YES"
    else
      echo "NO"
      exit 1
  fi  
done
Run Code Online (Sandbox Code Playgroud)

它主要工作,但我得到:

$ ./multi_repo_rubies.sh 
repo_1_ruby_193
YES
repo_2_ruby_211
YES
repo_3_ruby_191
./multi_repo_rubies.sh: line 9: [: too many arguments
NO
$
Run Code Online (Sandbox Code Playgroud)

无论我尝试-s还是-z

我得到了我想要的 YES/NO 但如何避免[:错误?

shell ruby rvm

2
推荐指数
1
解决办法
154
查看次数

从 Ruby 打开带有空格的文件

当我需要在 emacs 中以编程方式打开名称中有空格的文件时,我该怎么做?我已经在 Ruby 脚本中尝试过这些命令,在反引号内或popen(…)

emacs "foo bar"
Run Code Online (Sandbox Code Playgroud)

或者

emacs foo\ bar
Run Code Online (Sandbox Code Playgroud)

打开两个名为fooand 的文件bar,但我想打开一个名为foo bar.

ruby escape-characters

1
推荐指数
1
解决办法
2930
查看次数