Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Gems突然停止了ubuntu 12.04的工作_Ruby_Ubuntu_Rubygems_Rbenv - Fatal编程技术网

Ruby Gems突然停止了ubuntu 12.04的工作

Ruby Gems突然停止了ubuntu 12.04的工作,ruby,ubuntu,rubygems,rbenv,Ruby,Ubuntu,Rubygems,Rbenv,在UbuntuBox上做了几天的事情之后,我决定尝试一些ruby的东西。为此,我想启动pry。不幸的是,有人向我介绍了 抱歉,没有Readline或兼容库,您无法使用Pry。 请gem安装rb-readline或使用readline重新编译Ruby ~/.rbenv/versions/2.1.1/lib/ruby/2.1.0/rubygems/core\u ext/kernel\u require.rb:55:in `require':libreadline.so.5:无法打开共享对象文件:无此

在UbuntuBox上做了几天的事情之后,我决定尝试一些ruby的东西。为此,我想启动
pry
。不幸的是,有人向我介绍了

抱歉,没有Readline或兼容库,您无法使用Pry。 请
gem安装rb-readline
或使用readline重新编译Ruby

~/.rbenv/versions/2.1.1/lib/ruby/2.1.0/rubygems/core\u ext/kernel\u require.rb:55:in `require':libreadline.so.5:无法打开共享对象文件:无此类文件 文件或目录- ~/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-linux/readline.so (加载错误)

一般来说,我对linux还是比较陌生的,我想我应该按照它说的去做,然后安装这个
rbreadline
。安装过程很顺利,但似乎什么都没做。如果我做了
gemlistp
,包就不会出现

所以,是的,我只是不知道该怎么做才能让它再次工作,我通过搜索找到的唯一一件事是与一个没有rbenv的安装有关,与sudo等有关


有什么想法吗?

做一个
sudo-apt-get-install-libreadline-dev
,似乎你错过了pry想要的readline共享库。如果它以前工作过,我不确定为什么库不再存在。

我最终执行了
rbenv卸载
,然后执行
rbenv安装
并重新安装所有gem,并使其恢复工作。仍然不知道最初是什么原因造成的,但现在它可以工作了。

没有理解问题,也没有遵循消息选项2中的建议:

Sorry, you can't use Pry without Readline or a compatible library.
 Possible solutions:

 * Rebuild Ruby with Readline support using `--with-readline`
 * Use the rb-readline gem, which is a pure-Ruby port of Readline  <==== Option 2
 * Use the pry-coolline gem, a pure-ruby alternative to Readline
抱歉,没有Readline或兼容库,您无法使用Pry。
可能的解决方案:
*使用`--with Readline重建具有Readline支持的Ruby`

*使用rb readline gem,它是readline的纯Ruby端口我也有这个问题。我正在使用rbenv并通过

rbenv安装-f 2.2.3


你帮我修好了。当然你会把你各自的版本放进去-f强制安装,即使您已经安装了该特定版本。使用
rbenv global
查找您已安装和设置的版本。

我有一些问题。但我不想添加gem'rbreadline'。所以试试看


$ln-s/usr/local/opt/readline/lib/libreadline.8.0.dylib/usr/local/opt/readline/lib/libreadline.7.dylib

谢谢你的提示,但它似乎已经安装了,这就是我得到的“libreadline dev已经是最新版本了。”我还检查了该目录,而.so文件实际上存在于该目录中……接下来我要做的是检查与rbenv一起使用的ruby版本是否与rubygems尝试获取的版本相同。在
gem-env
中,显示
env
gem-env
的输出,查看RUBY版本、安装目录和RUBY可执行项为您提供了什么。你可能已经安装了两个不同版本的ruby,rubygems正在变得混乱。我只安装了一个-2.1.1,在我设法查看的所有地方都列出了它。而且在系统级根本没有安装ruby——如果我安装了SudoRuby——版本,我会得到一个不太好的命令!很高兴你明白了。请查看我的答案下的最后一条评论,以获得可能的解释。在使用rvm之前,类似的事情也发生在我身上…:(