为 Biopieces 安装 ruby​​ 和 gems 后,Linux“make”命令失败

为 Biopieces 安装 ruby​​ 和 gems 后,Linux“make”命令失败

我们想尝试一下生物片工具,需要一定的依赖,比如ruby和perl,ao运行后安装人员,并因此安装了一些 ruby​​ gems,我们无法再运行常规的 linux 'make' 命令:

~$ make

/var/lib/gems/1.9.1/gems/make-0.3.1/bin/make:1:in `top (required)>': uninitialized constant ELF (NameError)
        from /usr/local/bin/make:23:in `load'
        from /usr/local/bin/make:23:in `<main>'

如果我们指定根目录/usr/bin/make,它就可以工作。

目前,我们没有使用biopieces,我们可以卸载所有内容。是否有可能解决这个问题,回到之前的状态?

答案1

如果您查看ruby_installer.sh您提到的链接,您会发现它以以下内容结尾:

echo "All done. Now append the following to your ~/.bashrc file:"
echo "export PATH=\"$ruby_dir/bin:\$PATH\""
echo "Done"

这意味着$ruby_dir/bin(例如: /usr/local/myruby/bin) 现在是 shell 尝试查找程序的第一个位置。

要更改它,只需回显您的 PATH 变量并更改它,这样/usr/local/myruby/bin它将成为最后一个检查的位置。例如:

# echo $PATH
/usr/local/myruby/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

# export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/myruby/bin

# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/myruby/bin

并且不要忘记将.bashrc脚本中指定的 PATH 改回。

答案2

结合我们收到的答案和评论,我们解决了这个问题。首先,我们确认“make”是从 中调用的/usr/local/bin,它确实出现/usr/bin在之前PATH。然后我们从 中删除了 ruby​​ 'make' /usr/local/bin。这是一步一步的:

$ which make
$ echo $PATH
$ gem uninstall -a -x make; hash -r;

现在我们的 Linux 'make' 可以正常工作了;-)

相关内容