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

qia*_*an 27 ruby rubygems ruby-on-rails

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

这是我的代码:

sudo ruby setup.rb
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

"/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."
Run Code Online (Sandbox Code Playgroud)

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

小智 56

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

cd ext/psych
ruby extconf.rb
make
make install
Run Code Online (Sandbox Code Playgroud)

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

  • 这是我在StackOverflow上读到的最惊人的评论.我刚刚完成了Ruby的编译,并担心在安装libyaml之后我需要重做所有这些.这是我需要的确切解决方案!谢谢! (2认同)

mos*_*sid 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. 玩得开心 :)

  • 为我工作..除了第5步.在某些发行版上你需要输入`source~/.bashrc` (3认同)

Ple*_*Guy 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:刚刚发布答案的神圣学习曲线!我不确定什么被认为是"代码",显然提示被认为是代码.现在有道理:)

注3:这是我在StackOverflow上的第一个"答案"!:d


Jos*_*ech 5

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