Invalid command 'RailsBaseURI'

本文详细记录了在Ubuntu上安装Redmine过程中遇到的问题及解决方案,包括处理依赖缺失、配置Phusion Passenger模块等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 官方指导

http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step
 
解决使用了下面三步:
1, apt-get install libapache2-mod-passenger
2,a2enmod passenger
3,service apache2 restart

 问题解决,apache正常启动,但是redmine运行报错。

报错如下:

[Fri Aug 09 13:54:51 2013] [notice] caught SIGTERM, shutting down
[Fri Aug 09 13:54:52 2013] [notice] Apache/2.2.22 (Ubuntu) Phusion_Passenger/2.2.11 configured -- resuming normal operations
/usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:51:in `require': cannot load such file -- phusion_passenger/utils (LoadError)
    from /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:51:in `require'
    from /usr/lib/phusion_passenger/passenger-spawn-server:53:in `<main>'

看看源代码:

 

 ##
  # When RubyGems is required, Kernel#require is replaced with our own which
  # is capable of loading gems on demand.
  #
  # When you call <tt>require 'x'</tt>, this is what happens:
  # * If the file can be loaded from the existing Ruby loadpath, it
  #   is.
  # * Otherwise, installed gems are searched for a file that matches.
  #   If it's found in gem 'y', that gem is activated (added to the
  #   loadpath).
  #
  # The normal <tt>require</tt> functionality of returning false if
  # that file has already been loaded is preserved.

  ACTIVATION_MONITOR = Monitor.new

  def require path
    ACTIVATION_MONITOR.enter

    spec = Gem.find_unresolved_default_spec(path)
    if spec
      Gem.remove_unresolved_default_spec(spec)
      gem(spec.name)
    end

    # If there are no unresolved deps, then we can use just try
    # normal require handle loading a gem from the rescue below.

    if Gem::Specification.unresolved_deps.empty? then
      return gem_original_require(path) <-------------这行报错。
    end

    # If +path+ is for a gem that has already been loaded, don't
    # bother trying to find it in an unresolved gem, just go straight
    # to normal require.
    #--
    # TODO request access to the C implementation of this to speed up RubyGems

    spec = Gem::Specification.find { |s|
      s.activated? and s.contains_requirable_file? path
    }

 由于从来未接触过ruby,看代码,估计所依赖不足(缺少依赖)导致。

http://hooney.iteye.com/blog/259744  这个文章很有帮助。

参照http://itecsoftware.com/install-redmine-using-passenger-via-apache-on-ubuntu-10-04安装号passenger

然后其它全部使用gem install 安装其它依赖即可。参考:http://stackoverflow.com/questions/16376010/ubuntu-cannot-install-rmagick

Can't install RMagick 2.0.0. Can't find MagickCore.h.

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/ruby1.9.1
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

    Building has failed. See above output for more information on the failure.

Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/rmagick-2.0.0 for inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/rmagick-2.0.0/ext/RMagick/gem_make.out

使用

apt-get install imagemagick libmagickwand-dev

缺少库:

/usr/bin/ruby1.9.1 extconf.rb
checking for Ruby version >= 1.8.2... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.3.0... yes
checking for HDRI disabled version of ImageMagick... yes
checking for sys/types.h... yes
checking for magick/MagickCore.h... yes
checking for InitializeMagick() in -lMagick... no
Can't install RMagick 2.0.0. Can't find libMagick or one of the dependent libraries. Check the mkmf.log file for more detailed information.

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/ruby1.9.1
    --with-Magicklib
    --without-Magicklib
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

    Building has failed. See above output for more information on the failure.

Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/rmagick-2.0.0 for inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/rmagick-2.0.0/ext/RMagick/gem_make.out

 解决:

#地板本的rmagick会出错
gem install  rmagick -v 2.13.2 -V

问题:

Error page:
Bundler could not find compatible versions for gem "ruby-openid":
  In Gemfile:
    rack-openid (>= 0) ruby depends on
      ruby-openid (>= 2.1.8) ruby

    ruby-openid (2.1.4)

 (Bundler::VersionConflict)
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/resolver.rb:130:in `block in resolve'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/resolver.rb:128:in `catch'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/resolver.rb:128:in `resolve'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/definition.rb:179:in `resolve'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/definition.rb:114:in `specs'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/definition.rb:159:in `specs_for'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/definition.rb:148:in `requested_specs'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/environment.rb:18:in `requested_specs'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:13:in `setup'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup'
  /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in `<top (required)>'
  /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:116:in `require'
  /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:116:in `rescue in require'
  /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:122:in `require'
  /var/lib/gems/1.8/gems/passenger-4.0.10/lib/phusion_passenger/loader_shared_helpers.rb:212:in `run_load_path_setup_code'
  /var/lib/gems/1.8/gems/passenger-4.0.10/helper-scripts/rack-preloader.rb:73:in `preload_app'
  /var/lib/gems/1.8/gems/passenger-4.0.10/helper-scripts/rack-preloader.rb:127:in `<module:App>'
  /var/lib/gems/1.8/gems/passenger-4.0.10/helper-scripts/rack-preloader.rb:6:in `<module:PhusionPassenger>'
  /var/lib/gems/1.8/gems/passenger-4.0.10/helper-scripts/rack-preloader.rb:5:in `<main>'

解决:

#删除完
gem uninstall ruby-openid
#install
gem install ruby-openid -v 

 

 

 

 

 

 

 

<think>嗯,用户在使用Eclipse时遇到了.project文件被修改后导致的无效信息错误,并且在ADS环境下刷新资源失败。首先,我需要理解.project文件的作用。这个文件是Eclipse项目的核心配置文件,包含项目的基本信息、构建配置和依赖关系等。如果这个文件被错误修改,Eclipse可能无法正确识别项目结构,导致各种问题,比如刷新失败或构建错误。 用户提到在ADS(可能是ARM Development Studio)环境下遇到问题,可能需要考虑ADS与Eclipse的兼容性。ADS可能对项目配置有特定要求,如果.project文件被意外修改,可能导致ADS无法正确解析项目设置。 接下来,解决步骤可能包括: 1. **检查错误信息**:用户需要查看具体的错误日志,确定是语法错误还是配置错误。比如,XML格式错误或无效的插件引用。 2. **恢复备份**:Eclipse通常会自动备份.project文件,用户可以从本地历史记录中恢复之前的版本。 3. **手动修复XML结构**:如果文件有格式错误,比如标签未闭合或属性错误,需要手动修正。例如,检查<buildSpec>和<natures>部分是否正确。 4. **同步项目配置**:使用Eclipse的清理和刷新功能,或者重新生成项目文件。可能需要通过命令行工具如`mvn eclipse:eclipse`来重新生成配置。 5. **检查插件兼容性**:ADS可能依赖特定插件,需确保.project中的插件标识符与已安装的插件版本匹配。如果插件过时或冲突,需要更新或调整。 6. **重置工作区元数据**:删除.metadata目录并重新导入项目,但需注意这会重置所有工作区设置,需要备份重要数据。 此外,用户的问题可能与引用中的缓冲区管理或编译器设置有关吗?比如引用[1]提到管理缓冲区中的文件信息,可能与文件写入时的缓冲问题有关,导致.project文件未正确保存。而引用[2]提到不使用microLIB时需避免某些C库函数,但用户的问题主要在Java/Eclipse环境,可能关联不大,但需要确认是否有交叉编译或外部工具的影响。 可能还需要考虑文件权限问题,或防病毒软件锁定了.project文件,导致Eclipse无法正确读写。此外,检查项目路径是否有特殊字符或空格,这有时会导致解析问题。 最后,建议用户在修改配置文件前备份,使用版本控制系统来追踪变更,避免手动编辑.project文件,而是通过Eclipse的界面进行配置更改,以减少出错风险。</think>### 解决 Eclipse 项目 .project 文件无效信息错误的方法 #### 1. 错误原因分析 当`.project`文件被手动修改或外部工具覆盖时,可能导致以下问题: - **XML 结构破坏**:标签未闭合、属性值缺失或特殊字符未转义(如`&amp;`需写成`&amp;`) - **插件依赖失效**:例如`<nature>`中声明了不存在的插件标识符(如`com.arm.ads.core.nature`) - **构建配置冲突**:`<buildCommand>`指向无效的构建器(如`org.eclipse.jdt.core.javabuilder`版本不匹配) - **文件锁定问题**:ADS 或其他进程可能占用文件导致写入不完整[^1] #### 2. 分步解决方案 **步骤 1:验证 XML 格式** ```xml <!-- 错误示例 --> <projectDescription> <name>Demo</name> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <!-- 缺少闭合标签 --> </buildSpec> <!-- 此处应闭合buildCommand --> <!-- 修正后 --> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments></arguments> </buildCommand> </buildSpec> ``` 使用 XML 验证工具(如 Eclipse 自带的 XML 编辑器)检查语法错误。 **步骤 2:恢复有效配置** - 若使用 ADS 插件,确认`.project`包含必要配置: ```xml <natures> <nature>com.arm.ads.core.adsnature</nature> <nature>org.eclipse.jdt.core.javanature</nature> </natures> ``` - 对比正常项目的配置差异,使用 Eclipse 的 **Team → Synchronize** 同步资源 **步骤 3:强制刷新资源** 1. 关闭 Eclipse 和所有相关进程 2. 删除项目目录下的`.metadata/.plugins/org.eclipse.core.resources/.snap`文件 3. 启动 Eclipse 后执行: - **Project → Clean**(勾选所有项目) - 右键项目 → **Refresh**(或按`F5`) **步骤 4:重建项目元数据** ```bash # 若为 Maven 项目 mvn eclipse:eclipse -DdownloadSources=true # 若为 ADS 工程 ads_project rebuild -project "YourProjectName" ``` #### 3. 特殊场景处理 **场景 1:ADS 插件未正确加载** - 检查`.project`中的`<buildCommand>`是否包含 ADS 专用构建器: ```xml <buildCommand> <name>com.arm.ads.core.adsbuilder</name> <arguments> <dictionary> <key>target_device</key> <value>Cortex-M4</value> </dictionary> </arguments> </buildCommand> ``` 若缺失,需通过 **Window → Preferences → ARM/ADS → Project Settings** 重新配置。 **场景 2:文件同步冲突** 当使用 Git/SVN 时,若`.project`合并冲突导致格式错误: 1. 使用版本对比工具恢复有效版本 2. 执行: ```bash # 清除无效的派生文件 find . -name ".classpath" -exec rm {} \; rm -rf .settings/ ``` #### 4. 预防措施 - 在 **Window → Preferences → General → Workspace** 中启用**Refresh using native hooks or polling** - 添加`.project`到版本控制的忽略列表(需团队协商),改用模板生成: ```xml <!-- 最小化模板示例 --> <projectDescription> <name>${projectName}</name> <comment></comment> <projects></projects> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments></arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值