使用gem安装rails,付解决It seems your ruby installation is missing psych (for YAML output).

http://blog.csdn.net/abbuggy/article/details/8181064

在前面,我们学会了使用RVM的作用和利用RVM安装ruby并管理其版本的方法。

下一步就是使用ruby中的gem工具安装rails(rails也是ruby中的gem),关于gem是什么请移步《关于rubygem你需要知道的》

先使用rvm将ruby切换至需要的版本(我当前用的是1.9.3),因为rails将会被安装在当前使用的ruby版本目录中。不会的请移步《Ruby on Rails,在ubuntu中安装及使用rvm管理ruby版本》。

确认当前使用的gem命令是我想要安装rails的版本,没错就是这里。

abbuggy@abbuggy-ubuntu:~$ which gem
/home/abbuggy/.rvm/rubies/ruby-1.9.3-head/bin/gem

通过gem install 命令安装rails,安装是成功的,但是提示了错误:

It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.

abbuggy@abbuggy-ubuntu:~$ gem install rails
...
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
...


rails不自带依赖的libyaml,提示很清楚了,让我安装libyaml后重新安装ruby。

在新利得中明明是安装了libyaml的,说实话这块我不懂,希望了解的同学解答。

使用gem安装rails,付解决It seems your ruby installation is missing psych (for YAML output)._第1张图片

从google上察看别人的解决方案,需要安装名为libyaml-dev的包。

abbuggy@abbuggy-ubuntu:~$ sudo apt-get install libyaml-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列【新】软件包将被安装:
  libyaml-dev
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 0 B/66.4 kB 的软件包。
解压缩后会消耗掉 239 kB 的额外空间。
Selecting previously unselected package libyaml-dev.
(正在读取数据库 ... 系统当前共安装有 198558 个文件和目录。)
正在解压缩 libyaml-dev (从 .../libyaml-dev_0.1.4-2_i386.deb) ...
正在设置 libyaml-dev (0.1.4-2) ...
abbuggy@abbuggy-ubuntu:~$ 

安装完成后,卸载ruby准备重新安装。这时候可以使用uninstall命令,保留安装ruby时曾经下载的文件不用重下了。

abbuggy@abbuggy-ubuntu:~$ rvm uninstall ruby-1.9.3-head
/home/abbuggy/.rvm/src/ruby-1.9.3-head has already been removed.
/home/abbuggy/.rvm/rubies/ruby-1.9.3-head has already been removed.

和之前的操作一样,再次安装ruby和rails。就没有问题啦!

abbuggy@abbuggy-ubuntu:~$ rails -v
Rails 3.2.9

迫不及待的创建项目;启动启动!Oops!错啦!

abbuggy@abbuggy-ubuntu:~/test_site$ rails server
/home/abbuggy/.rvm/gems/ruby-1.9.3-head/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

好在这个问题我见过,缺少js运行环境,安装nodejs包来解决。

abbuggy@abbuggy-ubuntu:~$ sudo apt-get install nodejs

重新启动,一切正常了。
abbuggy@abbuggy-ubuntu:~/test_site$ rails server
=> Booting WEBrick
=> Rails 3.2.9 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-11-15 00:03:22] INFO  WEBrick 1.3.1
[2012-11-15 00:03:22] INFO  ruby 1.9.3 (2012-11-14) [i686-linux]
[2012-11-15 00:03:22] INFO  WEBrick::HTTPServer#start: pid=7301 port=3000

http://blog.csdn.net/abbuggy/article/details/8181064

你可能感兴趣的:(Ruby,Ruby,Rails,rvm,gem,yaml)