将Chiliproject部署到Dreamhost

时间:2011-08-04 23:43:39

标签: ruby-on-rails ruby dreamhost chiliproject

部署此问题时遇到一些问题。我现在尝试将它部署两次。这是我到目前为止所做的......

安装了install page所需的宝石和版本:

gem install -v=2.3.5 rails
gem install -v=1.0.1 rack
gem install -v=0.8.7 rake
gem install -v=0.4.2 i18n

下载了包裹:

git clone git://github.com/chiliproject/chiliproject.git
cd chiliproject
git checkout stable

因为它不在我的路径中而必须找到并设置捆绑包:

BUNDLE="/usr/lib/ruby/gems/1.8/bin/bundle"

将我的数据库信息放入database.yml:

然后启动捆绑包:

$BUNDLE install --without=postgres rmagick
$BUNDLE exec rake generate_session_store

最后一个命令出错:

rake aborted!
can't activate rails (= 2.3.5, runtime), already activated rails-2.3.12. Make sure all dependencies are added to Gemfile.

所以我在Gemfile中将2.3.12更改为2.3.5并继续:

RAIL_ENV=production $BUNDLE exec rake db:migrate

然后我也遇到了这个命令的错误:

** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
undefined method `autoload_paths' for #<Rails::Configuration:0x68a68dbb82c0>
/home/USERNAME/DOMAIN/public/config/environment.rb:44

我尝试在那里评论第44行,但之后又为类undefined method抛出了另一个错误Class' convert_to_without_fallback_on_iso_8859_1',所以我不想进一步使用它。 注意这只发生在我第二次尝试部署它时。我第一次尝试db:migrate成功(我检查过DB中没有数据)。

* 因此,第二次尝试我被困在这里:-( *

但这是db:migrate成功后第一次发生的事情......

RAILS_ENV=production $BUNDLE exec rake redmine:load_default_data

使用最后一个命令然后它没有说明对mysql'user'@'173.236.128.0/255.255.128.0'的权限被拒绝而且我就像WTF它试图连接到网络一样,好像它是一个主机?

所以我继续前进,复制了我的配置文件和环境文件。更改/添加了这些行:

# Uncomment below to force Rails into production mode when
# you don't control web/app server and can't set it the proper way
 ENV['RAILS_ENV'] ||= 'production'

# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.3.5'# unless defined? RAILS_GEM_VERSION

if ENV['RAILS_ENV'] == 'production'  # don't bother on dev
  ENV['GEM_PATH'] = '/home/USERNAME/.gems' + ':/usr/lib/ruby/gems/1.8'
end

然后让这些东西可写并重新启动Passenger:

chmod -R 777 files log tmp public/plugin_assets/
touch tmp/restart.txt

对不起文字之墙,是否有人能够对我做错的事情有所了解?

提前致谢。

编辑:所以这是错的,这就是我如何运作

rm ~/.gem*
gem install bundler

PATH=$PATH:/usr/lib/ruby/gems/1.8/bin

cd ~
git clone git://github.com/chiliproject/chiliproject.git
cd chiliproject
git checkout stable

cp * ../example.com/ -R
cd ../example.com

# Make sure database is working

bundle install --without postgres rmagick test
bundle exec rake generate_session_store

RAILS_ENV=production bundle exec rake db:migrate

# No output is no good, check database.yml

RAILS_ENV=production bundle exec rake redmine:load_default_data

或者看到这个:https://gist.github.com/1127306

2 个答案:

答案 0 :(得分:3)

目前的ChiliProject稳定版本(2.x)需要使用捆绑器。因此,Slotos的答案在这里是不正确的。 gen安装不再起作用,我们需要捆绑。

此外,我们现在要求Rails 2.3.12。如果您随意编辑文件,您将无法获得任何工作结果。在某些平台上,您需要调整Gemfile(例如,在使用Ruby 1.8.6或某些版本的ImageMagick时)。对于使用Ruby 1.8.7或REE的当前建议的设置,您不需要调整任何东西。

要安装当前稳定的ChiliProject 2.x版本的依赖项,您基本上需要执行以下操作:

首先,您需要确保重新安装gem二进制文件的目录位于$PATH中。这可以通过运行(在您的情况下)

暂时实现
export PATH=/usr/lib/ruby/gems/1.8/bin:$PATH

然后,您需要安装bundler gem并指示它安装所有依赖项

gem install bundler
bundle install --without rmagick postgres test # in your case

在你的情况下,真正奇怪的是rake似乎试图启用Rails 2.3.5。它不应该这样做(除非你更改了某些文件,否则不会这样做)。我强烈建议您从一个新的干净源树开始,不要更改任何任意文件。

答案 1 :(得分:1)

不要将gem install命令与bundler程序包管理混淆。这样做会得到意想不到的结果。

如果你真的想使用bundler - 将你想要的所有宝石添加到Gemfile。 否则就省略它。

快速搜索“bundler chiliproject”会引导我chiliproject-gemfile。显然它已经合并为不稳定。