0

ハイブリッド アプリの場合、Grunt ビルドを実行して、XCode ビルドの一部として Web コードをコンパイル (など) しようとしています。

次のように定義されたビルド フェーズ実行スクリプトがあります。

source "$HOME/.rvm/scripts/rvm"
cd "${PROJECT_DIR}/www"
PATH=${PATH}:${HOME}/.rvm/gems/ruby-1.9.3-p327/bin:${HOME}/.rvm/gems/ruby-1.9.3-p327@global/bin:${HOME}/.rvm/rubies/ruby-1.9.3-p327/bin:${HOME}/.rvm/bin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:${HOME}/.rvm/bin
grunt build

grunt buildコマンドラインからは正常に動作しますが、XCode を介して次のエラーが発生します。

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:777:in `report_activate_error': Could not find RubyGem compass (>= 0) (Gem::LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:211:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in `gem'
    from /Users/peteshau/.rvm/gems/ruby-1.9.3-p327/bin/compass:18
    from /Users/peteshau/.rvm/gems/ruby-1.9.3-p327/bin/ruby_noexec_wrapper:14

(コンパスは SASS をコンパイルするためのものです)。

4

1 に答える 1

0

無関係な PATH エントリのいくつかを削除し、Ruby/RVM 環境変数を追加することで、動作するようになりました。

source "$HOME/.rvm/scripts/rvm"
cd "${PROJECT_DIR}/www"
PATH=${PATH}:${HOME}/.rvm/gems/ruby-1.9.3-p327/bin:${HOME}/.rvm/gems/ruby-1.9.3-p327@global/bin:${HOME}/.rvm/rubies/ruby-1.9.3-p327/bin:${HOME}/.rvm/bin:${HOME}/.rvm/bin:/usr/local/bin
export rvm_reset_clr=
export rvm_path=${HOME}/.rvm
export rvm_prefix=${HOME}
export rvm_env_string=ruby-1.9.3-p327
export rvm_version="1.18.5 (stable)"
export rvm_debug_clr=
export GEM_PATH=${HOME}/.rvm/gems/ruby-1.9.3-p327:${HOME}/.rvm/gems/ruby-1.9.3-p327@global
export MY_RUBY_HOME=${HOME}/.rvm/rubies/ruby-1.9.3-p327
grunt build
于 2013-10-31T15:18:31.070 に答える