我是PHP开发人员,现在正在尝试使用Ruby和Python。我试图让Rails在Amazon Linux AMI上运行。
安装了Ruby。已安装Rubygems。已安装Rails。
但是当我尝试运行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如此受欢迎)
答案 0 :(得分:1)
所以,事实证明我试图在一个2岁的AMI上安装Rails,这个AMI有一个旧版本的Ruby,这需要使用rvm。
无论如何,截至今天,Amazon Linux AMI有一个更新版本的Ruby,这让事情变得更容易。以下是我采取的步骤(64位t2.small),允许我在Amazon Linux AMI上创建一个新的Rails应用程序:
检查您的Ruby版本(捆绑在Amazon Linux中)
ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux]
检查您的sqlite3版本(与Amazon Linux捆绑在一起)
sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
检查Rubygems版本(与Amazon Linux捆绑在一起)
gems -v
2.0.14
安装Rails(这会在命令行上停留一段时间,请耐心等待。额外的参数不包括文档,如果安装,可以在编译时在较小的实例上融化CPU)
sudo gem install rails --no-ri --no-rdoc
检查Rails已安装
rails --version
Rails 4.1.6
安装gcc(总是很方便)
sudo yum install -y gcc
安装ruby和sqlite开发包
sudo yum install -y ruby-devel sqlite-devel
安装node.js(Rails想要一个JS解释器)
sudo bash
curl -sL https://rpm.nodesource.com/setup | bash -
exit
sudo yum install -y nodejs
安装sqlite3和io-console gems
gem install sqlite3 io-console
制作一个空白的应用
mkdir myapp
cd myapp
rails new .
启动它(在后台)
bin/rails s &
<Enter>
点击它
wget -qO- http://localhost:3000
Debug(Rails控制台)
bin/rails c