我在我的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,但它仍无效。 信息发生了变化,我不知道它有什么问题。
答案 0 :(得分:56)
你必须在安装ruby之前安装paquage libyaml-dev,否则你仍然可以使用extconf.rb来删除缺少的库。所以对于这个问题你可以做(从ruby安装文件夹):
cd ext/psych
ruby extconf.rb
make
make install
Extconf.rb在安装ruby之后添加库非常有用。
答案 1 :(得分:14)
执行以下操作:
sudo apt-get install curl
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc
~/.bashrc
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
rvm install 1.9.3-p0
rvm use 1.9.3-p0
gem install rails
答案 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/。它确实有效。