0

私はRailsを学んでいて、Macportsはかなり新しいです。

rails serverプロジェクトを実行すると、次のエラーが発生します。

/...config/initializers/session_store.rb:3: syntax error, unexpected ':', expecting $end

この構文エラーは、1.9.0未満のバージョンのRailsを実行していることが原因であると考えられruby -vますruby 1.8.7

問題は、ruby1.9.3をインストールしたと確信していることです。

私はport clean ruby19ruby1.9.3をインストールするために実行し、さまざまな組み合わせを実行しました

port install ruby19

port install ruby19 -nosuffix

どちらも次のエラーが発生します。

Error: org.macports.activate for port ruby19 returned: Image error: /opt/local/bin/erb is being used by the active ruby port. Please deactivate this port first, or use 'port -f activate ruby19' to force the activation.

実行するport -f activate ruby19と、次のエラーが発生します。

--->  The following versions of ruby19 are currently installed:
--->      ruby19 @1.9.3-p194_3+doc (active)
--->      ruby19 @1.9.3-p194_3+doc+mactk
--->      ruby19 @1.9.3-p194_3+doc+nosuffix
Error: port activate failed: Registry error: Please specify the full version as recorded in the port registry.

ここからどこへ行くの?

私は基本的に、このプロジェクトを立ち上げて実行するための最も迅速で簡単なソリューションを望んでいます-私のマシンに複数のバージョンのrubyは必要ありません。

さあ、私はこの問題で最初になることはできないことを知っています!RVMは本当に人々がこれを行う唯一の方法ですか?

よろしくお願いします!

4

2 に答える 2

2

面倒がはるかに少なく、ローカルで動作し、より頻繁に更新されるrvmを使用してください。rbenvまたはそこにある他のrubyインストーラーを使用することもできます。時間を節約して、これらのインストーラーを使用してください。

于 2012-09-16T19:27:21.307 に答える
0

私はすでにruby(1.8.7)のmacportsインストールを持っていたことがわかりました。

すべてのmacportsruby19エディションをアンインストールしましたsudo port uninstall ...

アクティブなバージョンを非アクティブ化sudo port -f deactivate ruby

接尾辞なしで1.9.3のバージョンをインストールしました

sudo port install ruby19 +nosuffix

このエラーが発生しました:

Image error: /opt/local/bin/gem is being used by the active rb-rubygems port. Please deactivate this port first, or use 'port -f activate ruby19' to force the activation.

だから走ったsudo port -f activate ruby19

今私が走るrails serverと私は得る:

/opt/local/lib/ruby1.9/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
from /opt/local/lib/ruby1.9/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /opt/local/lib/ruby1.9/1.9.1/rubygems.rb:1231:in `gem'
from /opt/local/bin/rails:22:in `<main>'

次に、gemパッケージとレールを更新しました。

sudo gem update --system
sudo gem uninstall rubygems-update
sudo gem install rails
sudo bundle install

結果:

Your bundle is complete! Use 'bundle show [gemname]' to see where a bundled gem is installed.
Post-install message from rdoc:
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
  = 1.8.7 : gem install rdoc-data; rdoc-data --install
  = 1.9.1 : gem install rdoc-data; rdoc-data --install
 >= 1.9.2 : nothing to do! Yay!

ここでのmacportsとrubyパスに関する有用な議論:MacPortsはどのようにパッケージをインストールしますか?MacPortsを介して行われたRubyインストールをアクティブ化するにはどうすればよいですか?

多くの人がRVMhttps://rvm.io/を推奨ていますが、私にとっては、今のところ1.9.2を実行する必要があります。

于 2012-09-21T07:28:15.690 に答える