問題タブ [rbenv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
11780 参照

ruby-on-rails - rbenv:ジェムセットなしで生き残る

TL; DR

  • ジェムセットを気にしないでください。複数のバージョンのgemを同時にインストールできます。
  • $ gem-based-binary _version_ args必要に応じて、表記を使用して実行するバージョンを指定します。
  • bundle execバージョンを指定するGemfileがある場合に使用します。

更新: 2015-06-04

私は3年前にこの質問を書きました。一部は誤った仮定に基づいており、一部はそれ以来状況が変化しています。@indirectの元の回答に感謝し、上記で要約した@kelvinの新しい(あまり賛成されていない)回答に注意を向けたいと思います。

私の誤った仮定:一度にインストールできるgemのバージョンは1つだけであるため、名前空間を分離するためにgemsetが必要です。違います。gemの複数のバージョンを同時にインストールできます。bundle execバージョン制約を指定するGemfileがあり、を介してコマンドを呼び出すか、最初の引数としてバージョンを指定しない限り、コマンドラインから呼び出されるときに最新のものが使用されます。

コマンドラインから古いバージョンのgemを呼び出すにはどうすればよいですか?も参照してください。re:アンダースコアバージョン表記。


元の質問:

Railsの異なるバージョンを使用して進行中の複数のプロジェクトがあります。特定のバージョンのレールを使用してプロジェクトを作成し、プロジェクトを相互に分離しておくためのワークフロー(以下で説明)があります。他のワークフロー、特にRVMの代わりにrbenvを使用して実験したいのですが、その方法が明確ではありません。

質問: rbenv-gemsetやrvmではなく、rbenvbundlerを使用する場合に、それぞれが異なるバージョンのrailsを使用する複数のrailsプロジェクトを作成するための現在のベストプラクティス は何ですか?

ユースケース: ProjectAとProjectBという2つのレールプロジェクトがあります。ProjectAは1つのバージョンのRails( "RailsA")を使用して開発されていますが、ProjectBは別のバージョン( "RailsB")を使用しています。両方のバージョンをインストールするにはどうすればよいですか?

GEMSETSのアプローチ: Railsの開発を始めたとき、私はRVMを使用していました。RVMは、rubyの複数の同時インストールをサポートすることに加えて、複数のNamedGemセットを持つことをサポートします。各プロジェクトには、gemsetと呼ばれる独自のgemのコレクション(レール自体を含む)があります。

注:スケルトンファイルはバージョンごとに異なるため、プロジェクトフォルダーの作成は、目的のバージョンのrailsrails newを使用するコマンドで実行する必要があります(IMHO) 。(おそらく私はこの前提を再検討する必要がありますか?)

バンドルアプローチ: RVMの代わりにrbenvを使用して遊んでいますが、ワークフローを明確に理解していません。README.mdの中で、Sam Stephensonは、「rbenvは... gemsetを管理しません。Bundlerは、アプリケーションの依存関係を管理するためのより良い方法です」と書いています。rvmのgemsetと同じ結果を得るためのプラグイン(rbenv-gemset )がありますが、Samは明らかに代わりにBundlerを使用することを好みます。残念ながら、彼はワークフローがどのようになるかについて詳しく説明していません。BundlerのWebサイトでさえ、あるプロジェクトを別のプロジェクトから分離する方法のすべての点を明示的に結び付けているわけではありません。いくつかのブログ 要点~/.bundle/configが助けになり、次のファイルを提案しています。

(ところで、「---」が何であるかはわかりません。ドキュメントにはそれについての言及がなく、違いはないようです。)

これにより、各レールプロジェクトに独自のジェムセットが効果的に提供され、ジェムがProjectX / vendor /bundle/に保存されます。実際、レール自体はそこに(再)インストールされ、実行すると、プロジェクトは他の環境から完全に独立しますbundle install

しかし、部屋の中の象は、そもそもレールプロジェクトフォルダを作成するという鶏が先か卵が先かという問題です!! RailsAを使用してProjectAフォルダーを作成するには、最初にRails(およびその多数の依存関係)をインストールする必要があります。ただし、ProjectBを作成する場合は、RailsBの使用に切り替える必要があります。ジェムセットがなければ、深刻なアップグレード/ダウングレードを行う必要があります。クールではありません。

考えられる解決策は、ProjectXフォルダーの作成に使用するRailsのバージョンを気にしないことです。次に、rails 3.0を使用して3.2プロジェクトを作成すると、アプリ/アセットツリーを手動で作成できます。しかし、それは私を苛立たせます。より良い方法はありませんか?

0 投票する
1 に答える
122 参照

ruby-on-rails - RBENV の使用時に Ruby プロジェクトに追加されたファイル

RBEnv をインストールして ROR プロジェクトを再構築した後、プロジェクトに非常に多くのファイルを追加したようです。それらは /vendor/local にあり、通常 /Library/Ruby/Gems にあるものと重複しているように見えます。

これらのファイルが存在しないと、私のプロジェクトは実行されません (メッセージが表示されますCould not find rake-0.9.2.2 in any of the sources.

RBEnv のインストールに問題がありました。他の問題であると思われるものがあります(bundle exec rails実行するだけでなく、実行する必要があるなどrails)。私は何か間違ったことをしたのではないかと疑っており、これらのファイルをプロジェクトに含めるべきではありません。私が知りたいのは:

1) これらのファイルはそこにあるべきですか?

2) これをどのように修正するのが最善ですか?

3) 最初からやり直して rbenv を再インストールするのが最善の方法である場合、どうすればすべてクリアできますか?

0 投票する
7 に答える
6088 参照

ruby - vim で正しい Ruby を使用するには? VIM で $PATH を変更するには?

Lion で Ruby をサポートするプレーンな Vim を使用します ( gist によってインストールされます)。rbenv で ruby​​ を使用しているため、パスは /users/me/.rbenv/shims:..... のようになります。

vim内からのパスは

環境変数を作成および変更することもできます。

パスは /usr/bin で始まるままです。

/usr/bin のシステム Ruby ではなく、 ~/.rbenv/shims の Ruby 1.9.3 にアクセスするにはどうすればよいでしょうか?

0 投票する
1 に答える
1526 参照

rbenv - rbenvでRMagickをインストールできません

Ubuntu 10.04サーバーでrbenvを使用していて、すでにImageMagickをインストールしていますが、RMagickを正常にインストールできません。次のエラーメッセージが表示されます

何か案は?

0 投票する
0 に答える
1004 参照

ruby-on-rails - UnicornRailsスタック+Vagrantが一部のアセットを提供していない

実稼働サーバー用のnginx+unicorn +railsを備えたRailsS​​tackを使用していますが、テスト目的でVagrantの下にステージングしています。これを行っているときに、railsアプリケーションの奇妙な動作に遭遇しました。この動作では、1つまたは他のアセットが提供されていない、つまりapplication.cssが提供されていないため、スタイルが適用されていない状態でページ全体が表示されます。

問題をグーグルで調べたところ、VagrantのFSドライバーが完全に実装されておらず、Apacheの使用中に問題が発生することがわかりました(nginxへの言及は見つかりませんでした)。この問題の解決策は、sendfileをオフにしてsendfileを無効にすることでした。構成ファイルに。そして...それはうまくいきませんでした。

さらに、ログ(Rails、unicorn、nginx)を調べたところ、ファイルが提供されていない場合、どのログにもそのファイルについての言及がないことがわかりました。これにより、VagrantがVMを介してrailsアプリフォルダーを共有するために使用するメカニズムに問題がある可能性があるという疑問が生じました。vagrantのWebサイトで説明されているように、VagrantはVirtual Boxの共有フォルダーを使用します。これは他の方法(ここに示す)と比較して非常に低速であり、回避策はNFS共有フォルダーを設定することです。そこで、NFSを試してみることにしましたが、結果は同じでした。残念ながら、一部のアセットは提供されません。

誰かがこれについて何か考えを持っていますか?私はかなり長い間検索しましたが、ここで説明したものに追加するポインタは見つかりませんでした。

私が使用しているもの:

Mac OS X 10.6.8 + rbenv(開発用)

Vagrant + nginx + rbenv +ユニコーン+バンドラー(ステージングまで)

unicorn.rb

/ etc / nginx / sites-enabled / appname

0 投票する
1 に答える
2317 参照

ruby-on-rails-3 - ruby - heroku: コマンドが見つかりません

この質問は以前に投稿されましたが、答えはうまくいきませんでした。私はRubyにまったく慣れていないことをプロバリーに言及する必要があります。ここでチュートリアルを実行中にエラーが発生しまし
た。手順は次のとおりです。

[first_app (master)]$ gem install heroku

私は得る

しかし、私がしようとすると

[first_app (master)]$ heroku keys:add

私は得る

次に、gem 更新バンドルをアンインストールして再インストールしようとしましたが、それは役に立ちませんでした

/Users/vng/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:in `block in replace_gem': heroku is not part of the bundle. Add it to Gemfile. (Gem::LoadError) from /Users/vng/.rbenv/versions/1.9.3-p125/bin/heroku:18:in'`

/Users/vng/.rbenv/shims:/Users/vng/.rbenv/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

私の宝石環境

RubyGems 環境:
- RUBYGEMS バージョン: 1.8.11
- Ruby バージョン: 1.9.3 (2012-02-16 パッチレベル 125) [x86_64-darwin11.3.0]
- インストール ディレクトリ: /Users/vng/.rbenv/versions/1.9.3 -p125/lib/ruby/gems/1.9.1
- ルビー実行可能: /Users/vng/.rbenv/versions/1.9.3-p125/bin/ruby
- 実行可能ディレクトリ: /Users/vng/.rbenv/versions/1.9 .3-p125/bin
- RUBYGEMS プラットフォーム:
- ruby
​​ - x86_64-darwin-11
- GEM パス:
- /Users/vng/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1
- / Users/vng/.gem/ruby/1.9.1
- GEM 設定:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- リモートソース:
- http://rubygems.org/

助けていただければ幸いです

0 投票する
2 に答える
772 参照

ruby-on-rails - rbenv でのバンドル インストール エラー

私は Ruby on Rails 3 チュートリアルに取り組んできましたが、最近、Rubyist の友人の勧めで RVM から rbenv に切り替えました。

残念ながら、新しいプロジェクトを作成してからしようとすると、次の$ bundle installエラーが発生します。

いくつかの rbenv ドキュメントなどを読みましたが、ここで問題を見つけるのにまだ苦労しています。参考までに、gemfile は次のとおりです。

0 投票する
1 に答える
1627 参照

rake - rakeが存在するように見えても、bundlerがrakeをインストールできないのはなぜですか?

rbenvとbundlerに問題があります。アプリにバンドルインストールすると、Rakeのインストール中にエラーが発生したというエラーが表示されます。

これは、rbenvがgemの書き込みパスを指していないことと関係があると思いますが、私は前向きではありません。

レーキが存在するように見えるのに、バンドラーがレーキをインストールできないのはなぜですか?

コンソール出力

0 投票する
4 に答える
773 参照

ruby - rbenvを使用したRubyのインストールが失敗するのはなぜですか?

私はこのガイドに従いました:http ://samsoff.es/posts/how-to-install-ruby-193

rbenv install 1.9.3-p125コンソールに入力 しました。

Rubyは正常にインストールされますが、実行ruby -vしてもバージョン1.8.7と表示されます。

それが機能するために何を変更する必要がありますか?