2012-06-18 41 views
1

我試圖在Solaris 10上安裝Ruby on Rails框。我設法從源代碼編譯的Ruby 1.9.3,我安裝了寶石,但是當我運行gem命令每次我得到這個消息:Solaris 10上的Ruby 1.9.3 + Rails - 缺少libyaml

# gem list 
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>': 
It seems your ruby installation is missing psych (for YAML output). 
To eliminate this warning, please install libyaml and reinstall your ruby. 

這實在是煩人:)

於是,我就重建紅寶石這是我在make的輸出中注意到的。

configuring psych 
libyaml is missing. Please install libyaml. 
Failed to configure psych. It will not be installed. 

我發現extconf.rb腳本,檢查是否存在,我試圖手動運行:

# pwd 
/root/pub/ruby-1.9.3-p194/ext/psych 
# 
# irb --simple-prompt 
>> require 'mkmf' 
=> true 
>> find_header 'yaml.h' 
checking for yaml.h... yes 
=> true 
>> find_library 'yaml', 'yaml_get_version' 
checking for yaml_get_version() in -lyaml... yes 
=> true 
>> exit 

顯然extconf.rb能找到libyaml但要不能。所以我很困惑爲什麼沒有找到它。有什麼想法嗎?

回答

0

你需要安裝libyaml。

如果您從預構建的軟件包安裝libyaml,您可能需要一個帶有開發頭文件的單獨包,通常爲「libyaml-dev」或類似文件。

另外,您可以install libyaml from source

下載的源碼包: http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz。構建和安裝LibYAML,運行:

$ ./configure 
$ make 
# make install 

(注意最後一行開始於#,作爲一個正常的用戶運行時指示的根殼,在前面加上sudo。)

然後重新配置和重新編譯安裝libyaml後的Ruby。

+0

有趣的是,我做了之前發佈:),我就像.. cmon,我只是建立libyaml,但紅寶石配置仍然沒有看到它..大聲笑。我終於殺死了這個警告,並且修復程序似乎是(尚未確認):'export LD_LIBRARY_PATH =「/ usr/lib;/usr/local/lib」 – pn8830

+0

@Pavel如果該作品將其作爲答案發布,您可以48小時後接受它。 –

+0

@Pavel,如果你打算在'/ usr/local'(或其他地方)下安裝很多GNUish的東西,請查看'crle(1)'以設置全局庫路徑。 –