部署此问题时遇到一些问题。我现在尝试将它部署两次。这是我到目前为止所做的......
安装了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
答案 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。显然它已经合并为不稳定。