fedora 搭建ruby on rails 开发环境
来源:互联网 发布:南京美食 知乎 编辑:程序博客网 时间:2024/05/16 17:00
这段时间接触了ruby,发现ruby真的是个十分优秀的编程语言,ruby的精髓rails可以让web开发的效率成倍的提高,下面就介绍一下我搭建rails环境的过程。
我用的系统是Fedora, $为命令提示符
1 安装ruby
$ sudo yum install ruby
安装稳定版本的ruby
2 安装rails
$ gem install rails
$ sudo yum install rubygem-railties
官方新手教程里提供的是 gem install rails 会出现如下错误,所有我用了上面的命令
--------------------------------------------------------------------------------------------------------
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
current directory: /home/wusq/.gem/ruby/gems/nio4r-2.1.0/ext/nio4r
/usr/bin/ruby -r ./siteconf20170628-3775-11gw6ya.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h
extconf failed, exit code 1
--------------------------------------------------------------------------------------------------------
接下来就可以使用rails命令来新建一个rails项目
$ rails new blog --skip-bundle
$ cd blog
还需要安装bundle(安装Gemfile配置文件的gem依赖的工具)
$ sudo yum install rubygem-bundler
刚才我们创建blog时跳过了gem的安装(--skip-bundle),现在我们来安装一下
$ bundle install
又出现错误了
--------------------------------------------------------------------------------------------------------
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /home/wusq/.gem/ruby/gems/nio4r-2.1.0/ext/nio4r
/usr/bin/ruby -r ./siteconf20170628-4490-17ao2sp.rb extconf.rb
checking for unistd.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib64
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/$(RUBY_BASE_NAME)
/usr/share/ruby/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /usr/share/ruby/mkmf.rb:587:in `try_cpp'
from /usr/share/ruby/mkmf.rb:1091:in `block in have_header'
from /usr/share/ruby/mkmf.rb:942:in `block in checking_for'
from /usr/share/ruby/mkmf.rb:350:in `block (2 levels) in postpone'
from /usr/share/ruby/mkmf.rb:320:in `open'
from /usr/share/ruby/mkmf.rb:350:in `block in postpone'
from /usr/share/ruby/mkmf.rb:320:in `open'
from /usr/share/ruby/mkmf.rb:346:in `postpone'
from /usr/share/ruby/mkmf.rb:941:in `checking_for'
from /usr/share/ruby/mkmf.rb:1090:in `have_header'
from extconf.rb:5:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/home/wusq/.gem/ruby/extensions/x86_64-linux/2.3.0/nio4r-2.1.0/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /home/wusq/.gem/ruby/gems/nio4r-2.1.0 for inspection.
Results logged to /home/wusq/.gem/ruby/extensions/x86_64-linux/2.3.0/nio4r-2.1.0/gem_make.out
An error occurred while installing nio4r (2.1.0), and Bundler cannot continue.
Make sure that `gem install nio4r -v '2.1.0'` succeeds before bundling.
In Gemfile:
rails was resolved to 5.0.4, which depends on
actioncable was resolved to 5.0.4, which depends on
nio4r
--------------------------------------------------------------------------------------------------------
好像是说要先安装开发工具,百度了半天终于找到解决办法了,原来是rpm配置好。可能bundle命令用到了rmp。安装redhat-rpm-config
$ sudo dnf install redhat-rpm-config
继续执行bundle install
$ bundle install
此时报错说没安装sqllite 安装一下呗
$ sudo yum install sqlite-devel
$ gem install sqlite3 -v '1.3.13'
安装好了数据库了, 继续bundle install
$ bundle install
成功!
终于把bundle install命令执行成功了。接下来试试能不能启动服务器吧
$ bin/rails server
报错
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[wusq@localhost blog]$ bin/rails s
/home/wusq/.gem/ruby/gems/bundler-1.15.1/lib/bundler/runtime.rb:85:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)
Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这是因为要安装nodejs
$ sudo yum install nodejs
nodejs安装完毕,再试试启动服务器
$ bin/rails server
终于成功了!!!
- fedora 搭建ruby on rails 开发环境
- 搭建Ruby on Rails开发环境
- 搭建Ruby on Rails开发环境
- 搭建 Ruby on Rails 开发环境
- Ruby on Rails开发环境搭建
- ruby on rails + mysql 开发环境搭建
- 搭建Ruby on rails开发环境
- Ruby on Rails 环境搭建
- ruby on rails环境搭建
- Ruby on rails 环境搭建
- ruby on rails 环境搭建
- Ruby On Rails环境搭建
- ruby on rails 环境搭建
- ruby on rails 环境搭建
- ruby on rails环境搭建
- 搭建Ruby on Rails 环境
- 搭建Ruby on Rails 环境
- ruby on rails环境搭建
- Ubuntu 16.04 安装Python-OpenCV 3.2
- Linux 下如何处理包含空格和特殊字符的文件名
- 电脑配置
- 简单选择排序 C++
- Android开源项目及资源查速表
- fedora 搭建ruby on rails 开发环境
- laravel5基础用法
- 互联网保险O2O平台微服务架构设计
- python3中模块详解--random模块
- git 常用命令讲解
- 最简单的listview实现
- Android应用创建桌面快捷图标
- IntelliJ IDEA 切换 project
- 东莞,一个让我梦想的