6

Ubuntu の主なエディターとして GVim(cream) に移行しようとしています。私は素晴らしい rails.vim を使用していますが、RVM も使用しています。

Rvm はシェルで何かを行うときに問題なく動作し、rails.vim で使用したい ruby​​ バージョンは、デフォルトとして設定されているバージョンです (ただし、システム バージョンではありません)。

次のようなものを実行しようとすると

:Rgenerate migration migration_name

私は得る:

...
Missing Rails 2.3.8 gem.
...

私が試してみると:

:!rvm use default

私は得る:

/bin/bash: rvm: command not found

明らかに、cream/gvim は私の .bashrc を使用していません。これを修正して機能させるにはどうすればよいですか?ありがとう。

4

8 に答える 8

4

コマンドラインからクリームを実行してみてください。これで問題が解決する場合は、bash プロンプトのコンテキストでクリームを開くスクリプトをメニュー項目に指定できます。

于 2010-06-24T03:29:17.160 に答える
3

これは、.zshrc ファイルで rvm スクリプトを取得しているためです。MacVim は .zshrc ファイルをソースしませんが、.zshenv ファイルをソースします。

次の行を .vimrc ファイルに追加します。

set shell=/bin/sh
于 2011-07-04T06:33:47.743 に答える
1

おそらく .bash_profile を使用して RVM を bash 環境に追加したことがあるでしょう。残念ながら、~/.bash_profile は通常、Ubuntu ヘルプに記載されているように、X スタートアップ スクリプトによって読み取られません。

.profile または .bashrc を使用します。.profile は、.bash_profile がない場合にのみ bash によって供給されます。.bashrc を使用します。

于 2010-06-18T21:35:13.527 に答える
0

rvm gem listrails gem が実際にインストールされていることを確認してください。rails (2.3.8)リストする必要があります。実行されていない場合rvm gem install rails

私は vim ユーザーですが、rvm + rails.vim は問題なく動作します。:Rgenerateあなたの例を含めて。

于 2010-06-28T00:28:27.610 に答える
0

コマンドラインから gvim を実行してもうまくいきません (受け入れられないという意味で)。GUI アプリケーションを使用している場合は、バックグラウンドで無駄なシェルが残ることなく、GUI のように使用したいと考えています。

Mac ユーザーに有効な' set shell=' トリックは、私には機能しません。あなたと同じように、私はUbuntuを使用しています。シェルをに設定しても、/bin/bashそれはできません。

私が仕事に就いたのはこれだけです。まず、rails.vimに加えてrvm.vimをインストールします。

次に、gvim/cream を開いたときに、プロジェクトのルート フォルダーに移動し、次のように入力します。

:Rvm

これにより、rvm.vim が.ruby-version(または.rvmrc) ファイルを読み取り、適切に初期化されます。

この時点で、

:Rake
:Rgenerate

...その他の rails.vim コマンドは問題なく動作するはずです。

シェルから:Rvm実行する場合と同様に、引数を に渡すこともできます。rvm

于 2013-10-30T23:01:55.537 に答える
0

~/.bashrc に次の行を追加します。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

[ -z "$PS1" ] && returnまた、bash がインタラクティブでない場合は、ファイルの残りのソースの取得を停止する前に来るようにしてください。

そして、これを ~/.profile に追加します:

export BASH_ENV=$HOME/.bashrc

この行により、非対話的に実行されている場合でも、bash は $HOME/.bashrc をソースにします。ダブルクリックして実行する GVim とシェル スクリプトの両方で、RVM を使用する必要があります。

注: :!(例: :!ruby, :!echo) コマンドのみが RVM をコマンドとして使用し、bash を実行:ruby:echoないため、~/.bashrc をソースしません。

于 2013-08-15T14:56:11.233 に答える
0

rvm はシェルごとに設定されるため、新しいウィンドウまたは新しいタブを起動し、デフォルトのインタープリターと gemset 以外のものを使用している場合は、最初に

rvm gemset use my_rails238_gemset

その後

vim myshiz

于 2010-07-06T17:47:44.047 に答える
0

rvm は、bash 環境を変更する bash 関数です。vim内から実行することは想定されていないようです。既に実行中のプログラムの環境を変更することはできません。

于 2010-06-23T21:25:09.057 に答える