首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Fedora 20上的Ruby on Rails

Fedora 20上的Ruby on Rails
EN

Stack Overflow用户
提问于 2014-10-30 18:50:01
回答 4查看 1.7K关注 0票数 0

我使用的是Fedora 20,安装了Ruby 2.0版和Rails 4.1.6版。

我尝试过rails new example,但得到了这个错误:

代码语言:javascript
运行
AI代码解释
复制
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Using rake 10.3.2
Using i18n 0.6.11

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby extconf.rb 
mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h


Gem files will remain installed in /home/sntr/.gem/ruby/gems/json-1.8.1 for inspection.
Results logged to /home/sntr/.gem/ruby/gems/json-1.8.1/ext/json/ext/generator/gem_make.out
An error occurred while installing json (1.8.1), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.1'` succeeds before bundling.
         run  bundle exec spring binstub --all
bundler: command not found: spring
Install missing gem executables with `bundle install`

我尝试过gem install json -v '1.8.1'sudo yum install json ...但是它没有改变,我不能运行Rails。

EN

回答 4

Stack Overflow用户

发布于 2015-07-03 12:27:28

我尝试了gem install json -v '1.8.1‘或sudo yum install json ...但是它没有改变,我不能运行Rails。

系统包实际上可以解决这个问题,但您需要将其版本锁定在Gemfile中。

也许你不知道,但是整个Ruby on Rails框架实际上是打包的,所以运行:

代码语言:javascript
运行
AI代码解释
复制
# yum install rubygem-rails

将为您安装Rails。但由于您最有可能安装的是其他一些gem或其更新版本,因此也可以通过安装ruby-devel包来安装Ruby头文件:

代码语言:javascript
运行
AI代码解释
复制
# yum install ruby-devel

使用system Ruby包实际上是一个很好的选择,它很容易安装,并为您提供安全更新等。只有当你需要操作系统没有提供的其他Ruby版本时,使用Ruby版本管理器才会对你有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2014-10-30 18:55:26

请改用RVM

如果您还是新手,它为您提供了在不同版本和环境中进行实验的选项。

票数 0
EN

Stack Overflow用户

发布于 2015-04-01 05:01:15

这里的问题是,如果rubygems.org提供了较新的版本,则bundler不会使用系统rubygems。因此,即使您从Fedora包安装了rubygem-json,例如它是1.8.1版,它也会被忽略,因为1.8.2版包含在rubygems中。

同样的问题也发生在其他几个gem上,但除非gem使用本机扩展(即需要编译的C代码),否则不会导致包失败。因此,json gem安装失败,但其他gem可以成功安装(来自rubygems,而不是yum)。

这个问题是discussed in depth on Github的,不幸的是it has no solution,而不是涉及Bundler的问题。Bundler的目的是确保在给定Gemfile/Gemfile.lock的情况下,无论在什么系统上运行,它都能安装与给定的gem完全相同的版本。

如果您必须只使用系统gem,那么您需要使用rails new app --no-gemfile创建您的应用程序,自己安装所有必要的系统gem,并记录它们是哪些gem,以便以后可以重复安装gem以进行测试和部署。特别是,您的应用程序将不会有Gemfile或Gemfile.lock。通常情况下,您只需要在特定的OS发行版(例如RHEL 7)上进行部署开发,并且只允许使用系统提供的包。这在企业软件开发中很常见。如果您不在这个场景中,那么您可能根本不应该使用系统ruby或rubygems,而应该使用RVM。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26661062

复制
相关文章
Ruby On Rails 4 hello world,Ruby On Rails上手
有机会再试一试Rails了,仅仅是原来接触的是2,如今已然变成了4,似乎如今的安装比原来会快些。。
全栈程序员站长
2022/07/12
2.6K0
Ruby On Rails 4 hello world,Ruby On Rails上手
Ruby on Rails 基础(7)
Note: bundle install 过程中有一个警告,让我们不要使用 root,这样会让其它用户无法操作此应用,其实还有一定安全隐患,这里为图方便,只为了解功能就不去讲究这些了,生产环境下要非常注意 Don’t run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root user
franket
2021/11/25
1K0
Ruby on Rails 基础(9)
报错:There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)
franket
2021/11/25
9530
Ruby on Rails 基础(6)
没有创建成功,但是反馈结果却是成功 (说明这是一批命令,最后一个反馈结果正常),并且生成一个文件目录
franket
2021/11/25
1.7K0
Ruby on Rails 基础(1)
这两条编码哲学可以算是历代猴子们的智慧结晶,核心目标只有一个,最大化的减少代码规模,明确核心逻辑,而这样的好处是多多的(编码效率高,Debug也快)
franket
2021/11/25
1.2K0
Ruby on Rails 基础(8)
文件/文件夹 作用 app/ 存放程序的控制器、模型、视图、帮助方法、邮件和静态资源文件。本文主要关注的是这个文件夹。 bin/ 存放运行程序的 rails 脚本,以及其他用来部署或运行程序的脚本。 config/ 设置程序的路由,数据库等。详情参阅 “设置 Rails 程序” 一文。 config.ru 基于 Rack 服务器的程序设置,用来启动程序。 db/ 存放当前数据库的模式,以及数据库迁移文件。 Gemfile, Gemfile.lock 这两个文件用来指定程序所需的 gem 依赖件,用于 Bun
franket
2021/11/25
1.9K0
Ruby on Rails 基础(11)
启动浏览器,可以进行访问 ---- 命令汇总 gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 curl -sSL https://get.rvm.io | bash -s stable rvm list known rvm list rvm install 2.3 ruby -v gem -v sqlite3 --version gem source -l time
franket
2021/11/25
1K0
Ruby on Rails 基础(2)
RVM (Ruby Version Manager) 是一个 CLI 工具,可以用来对 ruby 的多个版本进行安装,隔离和管理
franket
2021/11/25
8670
Ruby on Rails 基础(1)
这两条编码哲学可以算是历代猴子们的智慧结晶,核心目标只有一个,最大化的减少代码规模,明确核心逻辑,而这样的好处是多多的(编码效率高,Debug也快)
franket
2021/11/25
1.2K0
Ruby on Rails 基础(3)
查看可用ruby版本 [root@h202 ruby]# rvm list known -bash: rvm: command not found [root@h202 ruby]# su - root [root@h202 ~]# cd ruby/ [root@h202 ruby]# rvm list known # MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7[-head] # security released on head [ruby-]1.9.1[-p
franket
2021/11/25
1.2K0
Ruby on Rails 基础(4)
安装Rails 检查环境 检查以下三个软件,确保已经安装 [root@h202 ruby]# ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux] [root@h202 ruby]# gem -v 2.5.1 [root@h202 ruby]# sqlite3 --version 3.6.20 [root@h202 ruby]# ---- 替换安装源 如果不替换源,会很慢,或者根本没法获取包,因为有墙 [root@h202 rub
franket
2021/11/25
1.3K0
Ruby on Rails 基础(1)
这两条编码哲学可以算是历代猴子们的智慧结晶,核心目标只有一个,最大化的减少代码规模,明确核心逻辑,而这样的好处是多多的(编码效率高,Debug也快)
franket
2021/11/25
6520
在Debian 9上使用Apache安装Ruby on Rails
Ruby on Rails是一个服务器端Web应用程序框架。它维护了一组策划组件和“约定优于配置”的理念,使得我们可以快速开发应用程序而无需大量样板。本指南将向您展示如何使用Phusion Passenger在您的Linode上部署Rails应用程序。Passenger允许您直接在Apache应用程序中嵌入Rails应用程序,而无需担心FastCGI或复杂的Web服务器代理。
GIStudy
2018/08/28
5.9K0
在snow leopard上编译Ruby, RubyGems, 和Rails
准备: Snow Leopard系统 XCode编译环境,Snow Leopard系统盘上有 第一步:设置路径 vim ~/.profile 在文件最后加上: export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" 使新的路径生效 source ~/.profile 第二步:下载源文件 curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
EltonZheng
2021/01/22
5400
RoR:Ruby On Rails 的 Web Service
3.c:\flexstore\ruby script/generate model product
用户3135539
2018/09/12
9620
Ruby on Rails 基础(5)
其实就是一捆gems Tip: 查看本地有哪些 gem ,可以通过如下方式 [root@h202 ruby]# gem list *** LOCAL GEMS *** actionmailer (4.2.6) actionpack (4.2.6) actionview (4.2.6) activejob (4.2.6) ... ... rdoc (4.2.1) rvm (1.11.3.9) sprockets (3.6.0) sprockets-rails (3.0.4) test-unit (3.1.
franket
2021/11/25
8630
Ruby on Rails 基础(10)
成功启动,在本地启动浏览器,可以进行访问 (无法从外部访问,原因是并未绑定IP) 直接使用 Ctrl + C 就可以停止此应用 如果希望从外部访问,可以进行如下配置 -b 可以绑定服务 IP [root@h202 blog]# rails server -b 0.0.0.0 => Booting WEBrick => Rails 4.2.6 application starting in development on http://0.0.0.0:3000 => Run `rails server -h
franket
2021/11/25
4330
如何在Ubuntu 18.04上使用RVM安装Ruby on Rails
Ruby on Rails是一个流行的Web应用程序框架,旨在帮助您开发成功的项目,同时编写更少的代码。为了使Web开发变得有趣并且受到强大社区的支持,Ruby on Rails是一个可以免费使用的开源软件,并且欢迎各位用户提出建议以使其更好。
独钓寒江雪_Ly
2018/10/10
8.9K0
ruby on rails使用笔记
如果升级过程中说xcode版本太低 还得先升级xcode 重启电脑后继续升级ruby 升级完系统依然报错说xcode版本太低可以使用以下命令切换xcode版本
lilugirl
2019/05/28
1.2K0
如何在Ubuntu 18.04上使用rbenv安装Ruby on Rails
Ruby on Rails是创建网站和Web应用程序的开发人员最受欢迎的应用程序堆栈之一。Ruby编程语言与Rails开发框架相结合,使应用程序开发变得简单。
司徒永哥
2018/10/10
6.4K0

相似问题

Ruby on Rails安装- Fedora 7

23

在Fedora 20上更改域名

13

在fedora 20上安装checkinstall

237

如何在Fedora 20上构建GPUMlib?

12

Ruby on Rails中的最后20%

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文