2014-10-28 295 views
0

我是一位很长时间的PHP开发人员,目前正在尝试使用Ruby和Python。我试图让Rails在Amazon Linux AMI上运行。无法在亚马逊Linux上启动Rails Web服务器AMI

安装了Ruby。 Rubygems已安装。安装Rails。

但是,当我尝试运行Rails Web服务器时,出现错误。 sqlite3的

我已经安装了sqlite3的宝石:

[[email protected] blog]# gem install sqlite3 
Building native extensions. This could take a while... 
Successfully installed sqlite3-1.3.9 
Parsing documentation for sqlite3-1.3.9 
Done installing documentation for sqlite3 after 2 seconds 
1 gem installed 

,但它仍然是一个错误的来源:

[[email protected] blog]# bin/rails c 
Warning: You're using Rubygems 2.0.14 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem  pristine --all` for better startup performance. 
/usr/local/share/ruby/gems/2.0/gems/sqlite3-1.3.9/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError) 

任何想法?

(我开始明白为什么PHP和Apache是​​如此受欢迎)

+0

如果你刚刚起步,这是很好的时间,以满足'rvm'。 – blelump 2014-10-28 22:44:33

+0

从项目根目录下'bundle install'然后'bundle exec rails s' – Alexander 2014-10-28 23:39:33

+0

不是特别有用的评论re。 rvm,但是ruby版本似乎是问题的根源,因为你在Amazon Linux AMI上获得的是几个版本。 通过使用rvm(以及像安装node.js这样的其他一些障碍)碰撞ruby版本,我能够得到这个工作。 明天我将再次尝试从亚马逊Linux AMI的暂存和文档步骤。 – 2014-10-28 23:50:28

回答

1

所以,事实证明,我是想在一个2岁的AMI是有红宝石的旧版本,因此有必要安装Rails的使用rvm。

无论如何,截至今日,亚马逊Linux AMI拥有更高版本的Ruby,这使得事情变得更加简单。下面是我(64位t2.small)的步骤,让我创建亚马逊的Linux AMI一个新的Rails应用程序:

检查你的Ruby版本(在亚马逊的Linux捆绑)

ruby -v 
ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux] 

检查您的sqlite3版本(与亚马逊的Linux捆绑)

sqlite3 --version 
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668 

检查的RubyGems版本(与亚马逊的Linux捆绑)

gems -v 
2.0.14 

安装Rails(这会坚持一段时间的命令行,耐心等待。额外的参数排除文档,如果已安装,可以在更小的情况下融化的CPU,而编译)

sudo gem install rails --no-ri --no-rdoc 

护轨安装

rails --version 
Rails 4.1.6 

安装GCC(总是方便有)

sudo yum install -y gcc 

安装ruby和sqlite开发包

sudo yum install -y ruby-devel sqlite-devel 

安装节点。JS(Rails的想要一个JS解释器)

sudo bash 
curl -sL https://rpm.nodesource.com/setup | bash - 
exit 
sudo yum install -y nodejs 

安装的sqlite3和IO控制台宝石

gem install sqlite3 io-console 

作空白应用

mkdir myapp 
cd myapp 
rails new . 

启动它(背景)

bin/rails s & 
<Enter> 

打它

wget -qO- http://localhost:3000 

调试(Rails的控制台)

bin/rails c