2010-12-08 45 views
38

我收到以下錯誤:沒有這樣的文件來加載 - readline的

$script/console 
Loading development environment (Rails 2.2.2) 
/opt/ruby-enterprise-1.8.6-20080709/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError) 

我在哪裏可以得到的文件,它應該在去哪個目錄?

謝謝!

回答

46

readline模塊通常是Ruby包本身的一部分。

您是否手動構建Ruby安裝?如果是這樣,你需要確保libreadline及其頭文件已經安裝,然後重新編譯。

在Debian/Ubuntu的:

apt-get install libreadline-dev 

或者對RHEL/CentOS的,儘量

yum install readline-devel 

更新:

您正在使用的Ubuntu的一個非常古老的版本。如果要繼續使用它,請在文本編輯器中打開/etc/apt/sources.list,並將所有出現的archive.ubuntu.com更改爲old-releases.ubuntu.com。然後,運行apt-get update並再次嘗試上述操作。

雖然我強烈建議您考慮更新安裝。 Ubuntu 7.10在一段時間內還沒有看到安全更新,因此不推薦在生產環境中使用它。即使它不是生產機器,由於某些庫/依賴關係的舊版本,您很可能會遇到更多問題。

+0

關於「apt-get install libreadline-dev」出現以下錯誤:Err http://archive.ubuntu.com gutsy/main libncurses5-dev 5.6 + 20070716-1ubuntu3 404 Not Found [IP:91.189.88.45 80 ] 無法抓取http://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libncurses5-dev_5.6+20070716-1ubuntu3_amd64.deb 404找不到[IP:91.189.88.45 80] – Jay 2010-12-08 08:55:46

+0

好吧,我更新了答案。 – 2010-12-08 10:04:36

+0

@Shteef我使用的CentOS版本5.6,並有示例問題。所以我已經嘗試yum安裝readline-devel作爲root.but仍然我得到同樣的問題。你有任何想法的朋友嗎?和Ruby路徑是/ usr/local/bin/ruby​​ – 2011-10-28 11:09:18

31

您需要安裝ncurses和readline庫。

在Ubunutu你可以做

sudo apt-get install libreadline5-dev libncurses5-dev 

,然後你將不得不重新編譯附帶的紅寶石源

cd <ruby-src-dir>/ext/readline 
ruby extconf.rb 
make 
sudo make install 

如果您正在使用RVM,你可以簡單地做的readline

rvm package install readline 

編輯:

在較新版本的RVM,這最後的命令是

rvm pkg install readline 
2

運行命令

rvm requirements 

它顯示了這些要求和依賴性。安裝並重新安裝紅寶石上rvm

rvm remove 1.9.2 
rvm install 1.9.2 

它的工作原理!

編輯

如果你不能找到requirements選項更新您的RVM。

rvm update --head # older rvm 

或使用rvm upgrade

6

從這個問題得到緩解這種最簡單的方式, 只需添加到您的Gemfile:

gem 'rb-readline' 

然後運行bundle install

0

gem 'rb-readline' 

學分類似的問題/答案也許這是廢話答案,但今天從9.5升級的Postgres後,我就遇到了這個問題.3到9.6,以及自制軟件升級readline從6.something到7.我最終回滾我的postgres到9.5.3,並解決了這個問題。

相關問題