如何在Ubuntu 11.10上使用libyaml安装Ruby?

时间:2011-12-07 05:38:39

标签: ruby-on-rails ruby rubygems

我在我的Ubuntu 11.10 wubi上安装了ruby-1.9.3-p0,然后在rubygems上安装了Rails。

这是我的代码:

sudo ruby setup.rb

我收到了这个错误:

"/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."

我安装了libyaml并重新安装了Ruby,但它仍无效。 信息发生了变化,我不知道它有什么问题。

6 个答案:

答案 0 :(得分:56)

你必须在安装ruby之前安装paquage libyaml-dev,否则你仍然可以使用extconf.rb来删除缺少的库。所以对于这个问题你可以做(​​从ruby安装文件夹):

cd ext/psych
ruby extconf.rb
make
make install

Extconf.rb在安装ruby之后添加库非常有用。

答案 1 :(得分:14)

执行以下操作:

  1. 您必须安装“curl”:sudo apt-get install curl
  2. 转到此链接RVM
  3. 在快速安装框中复制命令并将其粘贴到命令提示符
  4. 输入echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc
  5. 输入~/.bashrc
  6. 输入以下代码: sudo apt-get install build-essential libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
  7. 输入:rvm install 1.9.3-p0
  8. 输入:rvm use 1.9.3-p0
  9. 输入:gem install rails
  10. 玩得开心:)

答案 2 :(得分:6)

好的,在尝试在我的Ubuntu 11.10框上安装RoR失败后,我结合了此页面和此资源的提示:http://www.thegeekwork.com/how-to-install-ruby-on-rails-in-ubuntu-11-10/

这是我为完成这项工作所做的一步一步细分(对不起,如果我没有这么好的格式,我只是想保持整洁):

1)全新安装Ubuntu 11.10

2)me@Box:~$ sudo apt-get install curl

3)me@Box:~$ sudo apt-get install git

4)me@Box:~$ sudo apt-get update

5)me@Box:~$ sudo apt-get dist-update

6)me@Box:~$ sudo shutdown -r now

7)me@Box:~$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

8)me@Box:~$ gedit ~/.bashrc

9)将以下行添加到最后(并保存文件)

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

10)me@Box:~$ source ~/.bashrc

11)me@Box:~$ type rvm | head -1

执行上述命令后你应该得到这个输出 - rvm是一个函数

您已成功安装RVM。接下来,您应该安装其他依赖项。要找出那些程序 -

12)me@Box:~$ rvm requirements

完成上述命令后,安装RVM推荐的其他软件包 -

13)me@Box:~$ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

14)me@Box:~$ rvm install 1.9.2

(#14需要一点时间)

15)me@Box:~$ rvm use 1.9.2

(这会选择您要使用的版本)

(如果您不确定当前使用的ruby版本,请输入 - ruby -v)

16)me@Box:~$ gem install rails

(这需要一段时间......)

17)将样本申请作为测试...

me@Box:~$ rails new test_app

me@Box:~$ cd test_app

me@Box:~/test_app$ rails server

而且那就是“这就是”。 ARRRRRRRRRrrrrrrrrrrrrrgh。

所以,

18)在您的应用程序文件夹(“test_app”)中,打开Gemfile并取消注释“therubyracer”行

19)me@Box:~/test_app$ bundle install

20)me@Box:~/test_app$ rails server

完成,完成。

我不明白为什么它将0.0.0.0:3000设置为主机地址(我认为它将是127.0.0.1),但坦率地说,现在没有打扰我 - 我让它工作(所以远)。是时候开始使用一些Rails了! :d

我希望这能帮助其他任何想要做这项工作的人! :)

注意:我意识到#13重复了我已经安装的一些东西,但我不在乎,我只是按照事情所说的去做。 :/

注2:刚刚发布答案的神圣学习曲线!我不确定什么被认为是“代码”,显然提示被认为是代码。现在有道理:))

Note3:这是我在StackOverflow上的第一个“答案”! :d

答案 3 :(得分:4)

如果您正在编译ruby,则可能需要libyaml-dev

答案 4 :(得分:1)

包含从源代码安装其他程序所需文件的Debian(和Ubuntu等)软件包通常以-dev结尾,例如: libyaml-dev,请尝试安装。或者只使用rvm,它实际上会为您安装。

答案 5 :(得分:0)

从源代码中压缩yaml将使其正常工作。我正在运行与您相同的配置。我跟着这个http://collectiveidea.com/blog/archives/2011/10/31/install-ruby-193-with-libyaml-on-centos/。它确实有效。