Ruby on rails Can';t在AmazonLinuxAMI上启动RailsWeb服务器

Ruby on rails Can';t在AmazonLinuxAMI上启动RailsWeb服务器,ruby-on-rails,amazon-ec2,sqlite,Ruby On Rails,Amazon Ec2,Sqlite,我长期从事PHP开发,目前正在尝试Ruby和Python。我正在尝试让Rails在AmazonLinuxAMI上运行 安装了Ruby。安装了Rubygems。安装了导轨 但是当我尝试运行Rails web服务器时,我得到了一个错误。sqlite3 我已经安装了sqlite3 gem: [root@ip-10-105-157-108 blog]# gem install sqlite3 Building native extensions. This could take a while...

我长期从事PHP开发,目前正在尝试Ruby和Python。我正在尝试让Rails在AmazonLinuxAMI上运行

安装了Ruby。安装了Rubygems。安装了导轨

但是当我尝试运行Rails web服务器时,我得到了一个错误。sqlite3

我已经安装了sqlite3 gem:

[root@ip-10-105-157-108 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
但它仍然是一个错误的来源:

[root@ip-10-105-157-108 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如此流行)

因此,我试图在一个2岁的AMI上安装Rails,这个AMI有一个旧版本的Ruby,这就需要使用rvm

无论如何,到今天为止,AmazonLinuxAMI有一个更高版本的Ruby,这使事情变得更简单。以下是我在Amazon Linux AMI上创建新Rails应用程序所采取的步骤(64位t2.small):

检查您的Ruby版本(捆绑在Amazon Linux中)

检查您的sqlite3版本(与Amazon Linux捆绑)

检查Rubygems版本(与Amazon Linux捆绑)

安装Rails(这会在命令行上停留一段时间,请耐心等待。额外的参数不包括文档,如果已安装,则在编译时会在较小的实例上融化CPU)

安装了护栏

rails --version
Rails 4.1.6
安装gcc(始终方便携带)

安装ruby和sqlite开发包

sudo yum install -y ruby-devel sqlite-devel
安装node.js(Rails需要一个js解释器)

安装sqlite3和io控制台gems

gem install sqlite3 io-console
制作一个空白应用程序

mkdir myapp
cd myapp
rails new .
启动它(在后台)

调试(Rails控制台)


如果您刚刚开始,现在正是与
rvm
会面的好时机。从项目根
bundle install
bundle exec rails s
这不是一个特别有用的评论。rvm,但ruby版本似乎是问题的根源,因为您在AmazonLinuxAMI上得到的只是几个版本。通过将ruby版本与rvm(以及安装node.js等其他一些障碍)结合起来,我能够让它正常工作。明天我将从头开始尝试AmazonLinuxAMI,并在这里记录步骤。
rails --version
Rails 4.1.6
sudo yum install -y gcc
sudo yum install -y ruby-devel sqlite-devel
sudo bash
curl -sL https://rpm.nodesource.com/setup | bash -
exit
sudo yum install -y nodejs
gem install sqlite3 io-console
mkdir myapp
cd myapp
rails new .
bin/rails s &
<Enter>
wget -qO- http://localhost:3000
bin/rails c