web-dev-qa-db-ja.com

プラグインをvagrantインストールできません:gemの依存関係はインストールされているにもかかわらず失敗します

Cygwin64内からWindows7に vagrant-vbguest プラグインをインストールしようとしています。

$ vagrant plugin install vagrant-vbguest
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing json (1.8.1), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.1'` succeeds before bundling.

提案された手順を実行すると、次のようになります。

$ gem install json -v '1.8.1'
Building native extensions.  This could take a while...
Successfully installed json-1.8.1
1 gem installed
Installing ri documentation for json-1.8.1...
Installing RDoc documentation for json-1.8.1...

その後、最初のコマンドの実行は同じ方法で失敗します。

6
msanford

これは、スペースを含むフォルダーにVagrantをインストールした場合に発生する可能性があります。たとえば、デフォルトの_C:\Program Files\HashiCorp\Vagrant_の代わりに_C:\HashiCorp\Vagrant_。

2つのソリューションを利用できます。

  • Vagrantをスペースのないフォルダー(デフォルトのインストールフォルダーなど)に再インストールします
  • PATH環境変数を変更して、スペースのあるフォルダーの代わりにレガシーフォルダーの短縮名を使用します。たとえば、_Program Files_は_PROGRA~1_になり、Program Files (x86)は_PROGRA~2_になります(ほとんどの場合、これらのパスを入力し、2つのショートネームが指定したものと同じフォルダ)。

環境変数を変更するには、[コントロールパネル]、[システム]、[システムの詳細設定]に移動し、[詳細設定]タブをクリックして、ウィンドウの下部にある[環境変数]ボタンをクリックします。 [システム変数]フレームで、[パス]変数を選択し、[編集]をクリックします。そこから、Vagrant binのパスを変更して、スペースのあるフォルダーの代わりにショートネームを使用します。私の場合、VagrantをProgram Files (x86)ディレクトリにインストールしたので、Path変数は次のようになります。

_[semi-colon delimited list of other paths];C:\PROGRA~2\HashiCorp\Vagrant\bin
_

これを行った後、newコマンドプロンプトを開き、プラグインのインストールを再試行します。

7
evanjd

プラグインはローカルにインストールできます。

  • プラグインgemを https://rubygems.org/ からダウンロードし、どこかに保存します(C:\somewhere
  • プラグインの場所で、次のコマンドを実行します。

    C:\somewhere>vagrant plugin install vagrant-vbguest-0.10.0.gem
    
2
An Do Tran

Vagrantには独自のRubyが組み込まれており、システムRubyを使用しません。そのため、組み込みのgemユーティリティを使用してgemをインストール/再インストールする必要があります。

たとえば私のOSXでは:

~ ->  /Applications/Vagrant/embedded/bin/gem list

*** LOCAL GEMS ***

bigdecimal (1.2.0)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
psych (2.0.0)
rake (0.9.6)
rdoc (4.0.0)
test-unit (2.0.0.0)

Vagrantのgemを見つけて、インストールの実行を再試行してください。

1
m1keil