直播:Linux下试玩Heroku

2010-10-09 22:48:46 +08:00
 xinzhi
对heroku没太多兴趣,但看到V2EX有人正在折腾这个,我也随便看看。我不是程序猿,只是玩玩。

基本只是复制粘贴,遇到障碍即终止,不折腾了。如果顺利,那我将创建一个可以通过网络访问的heroku app。

系统环境:
Ubuntu 10.10(Linux)
Gnome Desktop + gnome-terminal

直播线(应该是这个地址吧):
http://v2ex.appspot.com/t/3218?f=1
10596 次点击
所在节点    Heroku
42 条回复
Feuda
2010-10-09 22:51:46 +08:00
顶起
xinzhi
2010-10-09 22:53:59 +08:00
之前就去过Heroku官网,地址是:http://heroku.com/

看到左侧有快速入门的教程,一看就知道是终端运行的命令行。所以第一步就是打开gnome-terminal命令终端。

第一条命令是:
sudo gem install heroku

命令形式和apt-get完全一样。不过我不知道gem是神马。先试探一下:
xinzhi@xinzhi-laptop:~$ gem
程序“gem”已包含在下列软件包中:
* rubygems1.8
* rubygems1.9.1
请尝试:sudo apt-get install <选定的软件包>
xinzhi@xinzhi-laptop:~$ sudo apt-get install rubygems1.9.1
[sudo] password for xinzhi:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
注意,选取 ruby1.9.1 而非 rubygems1.9.1
将会安装下列额外的软件包:
libruby1.9.1 ruby1.9.1
建议安装的软件包:
ruby1.9.1-examples ri1.9.1 graphviz
下列【新】软件包将被安装:
libruby1.9.1 ruby1.9.1
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
需要下载 3,795kB 的软件包。
解压缩后会消耗掉 13.4MB 的额外空间。
您希望继续执行吗?[Y/n]y
xinzhi
2010-10-09 22:56:07 +08:00
既然是ruby on rails,那么ruby和rails都要有。从上面看,安装gem的时候,ruby已经顺便安装好了。那还缺少rails。现在安装:

xinzhi@xinzhi-laptop:~$ sudo apt-get install rails
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会安装下列额外的软件包:
libactionmailer-ruby1.8 libactionpack-ruby1.8 libactiverecord-ruby1.8
libactiveresource-ruby1.8 libactivesupport-ruby1.8 libbreakpoint-ruby1.8
libbuilder-ruby1.8 libcmdparse2-ruby1.8 libdaemons-ruby1.8 libi18n-ruby1.8
libjs-prototype liblog4r-ruby1.8 libmemcache-client-ruby1.8 libmmap-ruby1.8
libmocha-ruby1.8 libncurses-ruby1.8 librack-ruby librack-ruby1.8
libredcloth-ruby1.8 libruby1.8-extras libsqlite3-ruby1.8
libtext-format-ruby1.8 libtmail-ruby1.8 libtzinfo-ruby1.8 rails-ruby1.8 rake
rubygems1.8
建议安装的软件包:
libtmail-ruby-doc thin1.8 libapache2-mod-ruby libapache2-mod-fcgid
libfcgi-ruby1.8 ruby1.8-dev build-essential rubygems-doc
下列【新】软件包将被安装:
libactionmailer-ruby1.8 libactionpack-ruby1.8 libactiverecord-ruby1.8
libactiveresource-ruby1.8 libactivesupport-ruby1.8 libbreakpoint-ruby1.8
libbuilder-ruby1.8 libcmdparse2-ruby1.8 libdaemons-ruby1.8 libi18n-ruby1.8
libjs-prototype liblog4r-ruby1.8 libmemcache-client-ruby1.8 libmmap-ruby1.8
libmocha-ruby1.8 libncurses-ruby1.8 librack-ruby librack-ruby1.8
libredcloth-ruby1.8 libruby1.8-extras libsqlite3-ruby1.8
libtext-format-ruby1.8 libtmail-ruby1.8 libtzinfo-ruby1.8 rails
rails-ruby1.8 rake rubygems1.8
升级了 0 个软件包,新安装了 28 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
需要下载 2,648kB 的软件包。
解压缩后会消耗掉 20.4MB 的额外空间。
您希望继续执行吗?[Y/n]y
lainuo
2010-10-09 22:57:29 +08:00
ubuntu的依赖果然恐怖....
xinzhi
2010-10-09 22:57:32 +08:00
确保万无一失,这里确认下ruby是不是真的准备就绪:
xinzhi@xinzhi-laptop:~$ sudo apt-get install ruby
[sudo] password for xinzhi:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
ruby 已经是最新的版本了。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
解压缩后会消耗掉 0B 的额外空间。
您希望继续执行吗?[Y/n]
xinzhi
2010-10-09 22:59:17 +08:00
现在,ruby on rails就绪,gem可用,可以正式开始吧。回到官方快速上手的第一条命令:

xinzhi@xinzhi-laptop:~$ sudo gem install heroku
Successfully installed mime-types-1.16
Successfully installed rest-client-1.6.1
Successfully installed rake-0.8.7
Successfully installed configuration-1.1.0
Successfully installed launchy-0.3.7
Successfully installed json_pure-1.4.6
Successfully installed heroku-1.10.14
7 gems installed
Installing ri documentation for mime-types-1.16...
Installing ri documentation for rest-client-1.6.1...
Installing ri documentation for rake-0.8.7...
Installing ri documentation for configuration-1.1.0...
Installing ri documentation for launchy-0.3.7...
Installing ri documentation for json_pure-1.4.6...
Installing ri documentation for heroku-1.10.14...
Installing RDoc documentation for mime-types-1.16...
Installing RDoc documentation for rest-client-1.6.1...
Installing RDoc documentation for rake-0.8.7...
Installing RDoc documentation for configuration-1.1.0...
Installing RDoc documentation for launchy-0.3.7...
Installing RDoc documentation for json_pure-1.4.6...
Installing RDoc documentation for heroku-1.10.14...
xinzhi@xinzhi-laptop:~$
Paranoid
2010-10-09 23:01:47 +08:00
sudo apt-get install rails ( 先前版本Ubuntu 对 apt-get 的rails 版本做过修改,不知道这个会不会对LZ后面部分有障碍) 接着做看~~
xinzhi
2010-10-09 23:02:37 +08:00
尝试第二条命令,应该是创建一个app id,我运行:
xinzhi@xinzhi-laptop:~$ heroku create xinzhi
heroku:找不到命令
xinzhi@xinzhi-laptop:~$

我想创建一个ID为xinzhi的app,不过提示heroku找不到命令。大概是环境变量没有设置好。现在我去Google一下吧。
Feuda
2010-10-09 23:11:46 +08:00
xinzhi
2010-10-09 23:16:04 +08:00
通过Google查找这个http://stackoverflow.com/questions/2396004/heroku-gem-doesnt-work-are-installing-it

按部就班:
xinzhi@xinzhi-laptop:~$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /var/lib/gems/1.8/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /var/lib/gems/1.8
- /home/xinzhi/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/

也就是设置bin的位置:
xinzhi@xinzhi-laptop: export PATH=$PATH:/var/lib/gems/1.8/bin

再次尝试:
xinzhi@xinzhi-laptop:heroku create xinzhi
Enter your Heroku credentials.
Email:

至此,又回到正轨了。我先测试下我的账号,还有ssh验证。
xinzhi
2010-10-09 23:18:29 +08:00
Email: xinzhiorg在gmail.com
Password:
Uploading ssh public key /home/xinzhi/.ssh/id_rsa.pub
Creating xinzhi... done
Created http://xinzhi.heroku.com/ | git@heroku.com:xinzhi.git
fatal: Not a git repository (or any of the parent directories): .git
xinzhi@xinzhi-laptop:/var/lib/gems/1.8/bin$
xinzhi
2010-10-09 23:19:44 +08:00
现在,已经创建了xinzhi这个app,通过 http://xinzhi.heroku.com/ 可以访问。接下来部署一个app吧,来个blog试试。
Feuda
2010-10-09 23:21:55 +08:00
已经看到了,太棒了
xinzhi
2010-10-09 23:22:03 +08:00
试一下@huacnlee的personlab吧,项目地址和安装文档: http://github.com/huacnlee/personlab
xinzhi
2010-10-09 23:23:47 +08:00
帮助文档中有Ubuntu环境下的方法:
h2. Install on Ubuntu

$ git clone git://github.com/huacnlee/personlab.git
$ cd personlab
$ cp config/database.yml.default config/database.yml
$ vi config/database.yml
$ cp config/twitter.yml.default config/twitter.yml
$ vi config/twitter.yml
$ vi config/application.rb
$ bundle install
$ RAILS_ENV=production rake db:create
$ RAILS_ENV=production rake db:migrate
$ RAILS_ENV=production rake db:seed
xinzhi
2010-10-09 23:25:32 +08:00
我已经安装有git了。获得源码需要修改几个配置选项,我先看下。

xinzhi@xinzhi-laptop:~$ git clone git://github.com/huacnlee/personlab.git
Initialized empty Git repository in /home/xinzhi/personlab/.git/
remote: Counting objects: 3588, done.
remote: Compressing objects: 100% (2212/2212), done.
remote: Total 3588 (delta 1622), reused 2986 (delta 1233)
Receiving objects: 100% (3588/3588), 3.54 MiB | 43 KiB/s, done.
Resolving deltas: 100% (1622/1622), done.
xinzhi@xinzhi-laptop:~$ cd personlab
xinzhi@xinzhi-laptop:~/personlab$ cp config/database.yml.default config/database.yml
xinzhi@xinzhi-laptop:~/personlab$
xinzhi
2010-10-09 23:41:25 +08:00
看来我搞错了,Install on Ubuntu 是本机部署,应该是部署到Heroku的云上,回到:

h2. Install on Heroku

$ git clone git://github.com/huacnlee/personlab.git
$ cd personlab
$ vi config/application.rb
$ heroku create --stack bamboo-ree-1.8.7 youappname
$ heroku config:add HEROKU=true
$ git push heroku master
$ heroku rake db:create
$ heroku rake db:migrate
$ heroku rake db:seed

以上过程基本顺利,配置基本不用修改吧,我也暂时不知道要改神马。git push遇到点问题,我还不清楚push用法。先去了解一下。
Feuda
2010-10-09 23:45:21 +08:00
@xinzhi 你直播的内容是怎么copy上来的,感觉好到位哦,

xinzhi@xinzhi-laptop:~$ gem
程序“gem”已包含在下列软件包中:
* rubygems1.8
* rubygems1.9.1
请尝试:sudo apt-get install <选定的软件包>
xinzhi@xinzhi-laptop:~$ sudo apt-get install rubygems1.9.1
[sudo] password for xinzhi:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成

等等是怎么弄的?怎么会这么详细?
eth2net
2010-10-09 23:47:07 +08:00
@Feuda 直接copy终端不就可以了么?
Feuda
2010-10-09 23:50:06 +08:00
@eth2et 不知道哎,终端?就是@xinzhi 怎么下载软件都可以播啊?惑?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/3218

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX