最近在学习flask,发现很多操作比较麻烦,刚好发现网盘里有本Head first Rails(以前很不屑看Head First系列,不过看完Head First Html and CSS后发现这个系列书真的不错,很快入门,印象还蛮深,适合我这样的中老年人),翻着看了几页,发现很棒啊,不如装个体验体验吧,结果鼓捣了一晚上,居然没搞定
看了n篇文章,尝试了n种方法,Fedora 27、OpenSUSE15 安装RoR,各种恼人的报错,最后结合rvm官方文档和《如何快速正确的安装 Ruby, Rails 运行环境》成功,总结如下:
已验证系统:
Fedora 27、Fedora29、Ubuntu(待验证)、OpenSUSE15(待验证)
步骤1:安装rvm
rvm貌似是ruby的版本管理工具
1.安装GPG Key:
$ gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
2.安装rvm:
$ \curl -sSL https://get.rvm.io | bash -s stable
3.载入rvm环境:
$ source /home/lishouchao/.rvm/scripts/rvm
步骤2:ruby安装和验证
1.安装特定版本的ruby
// Ruby on Rails教程 第4版推荐安装此版本,配合书练习可以安装此版,Fedora27可以装2.4.5,Fedora29可以考虑装2.5.X
$ rvm install 2.3.8
中途会提示:
“Installing requirements for fedora.
Installing required packages: make..lishouchao password required for 'dnf install -y make':
lishouchao password required for 'dnf install -y make':”
输入账户密码
把刚才装的版本设为默认
$ rvm use 2.3.8 --default
2.验证ruby
$ ruby -v
2.3.8
3.验证gem
$ gem -v
4.安装bundler
不清楚bundler是什么东东
$ gem install bundler
步骤3:Rails安装、验证
1.安装Rails
$ gem install rails -v 5.1.4
2.验证rails
$ rails -v
Rails 5.1.6.1
// rvm会选择配合ruby相关版本的建议Rails版本,实际安装的可能比指定的版本号略高,后来第二次安装时选的Ruby2.4.5,rails未指定版本号,系统默认安装了Rails 5.2.2目前运行良好
3.New个项目试试
$ mk app
$ cd app
$ rails new blog
Rails创建完工程文件后,自动执行bundle install,刷刷又补装了很多包
$
4.启动服务试试
$ rails server
尼玛,报错了...
/home/lishouchao/.rvm/gems/ruby-2.3.8/gems/execjs-2.7.0/lib/execjs/runtimes.rb:58:in `autodetect': Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
5.安装JavaScript运行时
$ sudo dnf install nodejs
《Ruby on Rails 教程》作者推荐安装node.js
6.再次启动服务
$ rails server
哇!