플러그인을 방랑자로 설치할 수 없음 : 설치 중에도 gem 의존성이 실패 함


6

cygwin 64 내에서 Windows 7에 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...

첫 번째 명령을 실행하면 같은 방식으로 실패합니다.

답변:


7

공백이 포함 된 폴더에 Vagrant를 설치하면이 문제가 발생할 수 있습니다. 예를 들어, C:\Program Files\HashiCorp\Vagrantdefault 대신 C:\HashiCorp\Vagrant.

두 가지 솔루션을 사용할 수 있습니다.

  • 공백없이 폴더에 Vagrant를 다시 설치하십시오 (예 : 기본 설치 폴더)
  • 공백이있는 폴더 대신 레거시 폴더 축약 이름을 사용하도록 PATH 환경 변수를 수정하십시오. 예를 들어, Program Files이된다 PROGRA~1그리고 Program Files (x86)이된다 PROGRA~2(대부분의 경우에, 당신은 자신이 이러한 경로를 입력하고 내가 지정한 두 shortnames이 같은 폴더에 매핑 확인하여이를 확인해야한다).

환경 변수를 수정하려면 제어판, 시스템, 고급 시스템 설정으로 이동하여 고급 탭을 클릭 한 다음 창 하단에서 환경 변수 버튼을 클릭하십시오. 시스템 변수 프레임에서 경로 변수를 선택한 다음 편집을 클릭하십시오. 여기에서 공백이있는 폴더 대신 짧은 이름을 사용하도록 Vagrant bin의 경로를 변경하십시오. 필자의 경우 Program Files (x86)디렉토리에 Vagrant를 설치했기 때문에 Path 변수는 다음과 같습니다.

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

이 작업을 완료 한 후 명령 프롬프트를 열고 플러그인 설치를 다시 시도하십시오.


2

플러그인을 로컬로 설치할 수 있습니다.

  • https://rubygems.org/ 에서 플러그인 gem을 다운로드하여 어딘가에 저장하십시오 ( C:\somewhere)
  • 플러그인 위치에서 아래 명령을 실행하십시오.

    C:\somewhere>vagrant plugin install vagrant-vbguest-0.10.0.gem
    

이것은 Windows에서 가장 쉬운 솔루션입니다. No brainer :-)
Vacilando

왜 이것이 문서화되어 있지 않습니까? 나는 이것에 이틀을 보냈다. 지금 바로 홍보하고 있습니다!
renoirb

1

Vagrant는 자체 내장 루비와 함께 제공되며 시스템 루비를 사용하지 않습니다. 따라서 임베디드 gem 유틸리티를 사용하여 gem을 설치 / 재설치해야합니다.

예를 들어 내 OS X에서 :

~ ->  /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설치를 다시 시도하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.