win10에서virtualbox +vagrant 설정 루비 개발자 환경 사용하기
6534 단어 virtualboxvagrantruby
(주: 필자의 서버에 설치된 설정은centos7.2+ruby2.3.4+mariadb+redis입니다. 자신의 노트북은 win10입니다. 또한 많은 인터넷에서 유사한 글을 오래 전에 썼습니다. 많은 내용이 현재 적용되지 않고 심지어 중요한 부분을 잘 설명하지 못해서 필자의 설정 초기에 많은 구덩이를 밟았습니다. 그래서 이 글을 쓰고 경험을 정리합니다)
프로세스 구성
1. 박스 미러 선택
본고에서 필자는 사이트 서버 시스템이centos7.2이기 때문에 당연히 centos의 이미지를 선택했다.(미러링 홈 페이지, 검색 구성 지원: https://app.vagrantup.com/boxes/search.vagrant에 관하여 이 글은 더 이상 군더더기 없이 인터넷에서vagrant+virtualbox에 관한 자료가 매우 많고 기본 설정도 매우 간단하여 편리하다.
처음에 필자는 다운로드량이 높은centos를 마음대로 다운로드한 결과 내부 설정에 많은 문제가 있음을 발견했다. 주요 문제는 많은 소프트웨어의 버전이 너무 낡고 업데이트가 번거로우며 수동으로 많은 의존을 해결해야 한다는 것이다.나중에 공식 거울로 바뀌어서 큰 변화가 생겼다.(앤리, 내 거울 좀 봐: https://app.vagrantup.com/centos/boxes/7
미러를 선택할 때 다음 사항에 유의하십시오.
• 충분한 확신이 없으면 최신의 전체 미러를 선택하십시오 (최대한 Minimal 제외)
• 인터넷 조건이 허용될 경우 (예: 중국 대륙 밖) 페이지의 방법에 따라 직접 구성할 수 있습니다.만약 네트워크 조건이 허용되지 않거나 속도가 매우 느리다면, 위의vagrant에 따라 박스의 다운로드 주소를 받아서 init를 중단할 수 있습니다.그리고 이 주소를 로컬로 다운로드하여 설정하면 시간을 크게 절약할 수 있다.
2、git 설치
개발기로서git는 반드시 없어서는 안 될 것이지만, 처음에는 git에 의해 오랫동안 구덩이가 되었다.
우선 직접 설치 명령
yum install git
설치할 때 반드시 버전을 주의해야 하며, 버전은 1.8보다 낮지 않는 것이 가장 좋다. (이전의 다른 시스템git1.7, 많은 사이트의repo는 정상적으로 접근할 수 없었다.)다음은git의 전역 설정을 설정합니다.
git config --global user.name "HansBug"
git config --global user.email [email protected]
git config credential.helper 'cache --timeout=7200'
세 가지 설정은 사용자 이름, 사용자 메일박스와 비밀번호 기억하기(본인은 게으르고 ssh를 설정하고 싶지 않음) 유효시간(초, 예시 2시간)3. rvm 설치
rails 환경의 구축으로서 rvm는 매우 중요한 일환이다.
우선 rvm를 설치합니다. (본 컴퓨터에curl이 없거나 다른 의존 문제가 발생하면 먼저 해결하십시오.)
curl -L get.rvm.io | bash -s stable
설치 후 아래 힌트를 보시면
* WARNING: You have '~/.profile' file, you might want to load it,
to do that add the following line to '/home/vagrant/.bash_profile':
source ~/.profile
그가 말한 대로 하면 된다.설치가 끝난 후에 매우 중요한 조작이 하나 있다. 바로 원래 거울 주소를 바꾸는 것이다.원경 주소는 일부 신비한 원인 때문에 (알다시피) 루비의 다운로드 속도가 매우 느리고 불안정합니다.
그래서 과감하게 명령을 집행하다
echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
4. 루비 설치rvm 설정이 끝난 후 다음 단계는 루비를 설치하는 것입니다. (저는 2.3.4 버전을 사용합니다.)
rvm install 2.3.4
설치 후 기본 버전으로 설정rvm use 2.3.4 --default
5. gem source 수정일반적으로 루비가 설치된 후에gem도 있습니다.그러나 일부 신비한 이유 때문에gem 원래의 소스는 다운로드 속도가 매우 느리다.
일단 기존의 Gem source를 한번 볼게요.
gem source -l
피드백
*** CURRENT SOURCES ***
https://rubygems.org/
이것은 루비젬의 원래 거울로 대륙 방문 속도가 비교적 느리다.우리는 루비치나가 제공한 거울로 바꿀 수 있다.작업은 다음과 같습니다.
gem source -r https://rubygems.org/
gem source -a https://gems.ruby-china.org/
기존 미러 주소를 제거하고 새 미러 주소를 생성합니다.여기,gem 설정 완료6. rails 및 bundler 설치
만약 이전에 모두 적절하게 배치되었다면, 이 단계는 사실 매우 간단하다
우선(중간에 일부 의존성 문제가 발생할 수 있으며,baidu와 구글을 통해 자체적으로 해결할 수 있으며, 일반적으로 관련 자료를 찾을 수 있다)
gem install rails
설치 후 실행 확인gem install bundler
7,mariadb와redis설치사실mariadb는centos에 설치하는 것이 매우 간단하여 직접
yum -y install mariadb mariadb-server mysql-devel
하면 된다(마지막으로 설치하지 않으면 버블이 설치될 때 의존 오류가 발생할 수 있다).그리고 sudo 서비스mariadbstart에서 데이터베이스를 시작할 수 있어서 매우 편리합니다.(데이터베이스에 대한 비밀번호 설정 등 문제는 바이두 관련 자료를 자체적으로 확인할 수 있으며, 여기에서 더 이상 언급하지 않음)
redis의 경우 EPEL 설치를 확보한 상태에서 yum-y install redis를 직접 설치할 수 있고 시스템 서비스도 설정되어 있어 매우 편리하다.(EPEL의 설치는 문말 문제 영역 2를 참조하십시오.)
주: 프로젝트를 정식으로 배치하기 전에 반드시 개발 방식에 따라redis와mariadb의 관련 설정을 설정하십시오
mariadb의 기본 초기 설정에 대한 참조: https://www.jb51.net/article/108930.htm
mariadb의 원격 접근 문제에 관해서는 아래 링크를 참조하여 간결하고 명확하게 쓸 수 있습니다 (단, 개발기를 제외한 상황에서 원격 권한을 모든 IP에 부여하는 것은 안전하지 않습니다): https://www.jb51.net/article/72426.htm
8. 배포 프로젝트
우선 프로젝트 디렉터리에서 창고를 초기화하고 원격 창고를 추가합니다.
git init
git remote add origin *****************.git
그리고git pull origin master
프로젝트를 잘 배치하고 그 다음은 rails 프로젝트의 일반적인 절차이다
bundle install
rails db:migrate
rails db:seed
(주:bundle install 과정에서 관련 의존성 문제가 발생하면 오류 설명을 먼저 볼 수 있습니다. 많은 오류 설명에서 어떻게 조작하는지 알려주고 어떤 패키지를 설치해야 하는지 알려 줍니다. 해결되지 않으면 바이두나 구글을 참고하세요)마지막 단계,
rails server -b 0.0.0.0
rails 서버를 시작하면 우리는 직접 3000 포트를 통해 본 컴퓨터의 사이트를 방문할 수 있습니다!대성공.문제 영역
1. vagrant는 호스트와 폴더를 공유할 수 없습니다.
프로필(Vagrantfile)에 있는 이 줄의 설명을 삭제하는 문제가 발생했습니다.
config.vm.synced_folder "data", "/vagrant_data"
폴더 공유 사용 중 오류 발생
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:
mount -t vboxsf -o uid=1000,gid=1000 vagrant_data /vagrant_data
The error output from the command was:
mount: unknown filesystem type 'vboxsf'
이 문제 해결 방안은 이미 알고 있다.사실은 매우 간단하다. 플러그인 하나가 부족하면 설치하면 okvagrant plugin install vagrant-vbguest
그리고 Reload, 문제 해결.2. 일부 소프트웨어 패키지를 찾을 수 없음
이런 상황은centos7 자체가 가지고 있는 소프트웨어 패키지가 많지 않기 때문이다.그래서 우리는 EPEL을 설치해야 한다(https://www.jb51.net/article/113316.htm
작업은 다음과 같습니다.
yum -y install epel-release
yum repolist
epel을 설치하고 패키지 목록을 새로 고칩니다.우리는 소프트웨어 패키지 수가 많이 증가한 것을 볼 수 있다.3. 가상 머신을 ip에 비추기
사실 이 단계도 간단합니다. Vagrantfile에 있는 이 줄의 주석을 삭제하면 됩니다. (또한 랜 내 IP 주소가 충돌하지 않을 것을 보증하십시오. 충돌이 있으면 IP를 바꾸십시오. 또한 충돌이 발생하면 일반적으로vagrantup&reload 과정에서 오류가 발생합니다.)
config.vm.network "private_network", ip: "192.168.33.10"
그리고 사이트는 192.168.33.10:3000을 통해 접근할 수 있다. 데이터베이스는 192.168.33.10으로 링크할 수 있고 심지어putty로 192.168.33.10의 IP 주소를 통해 링크할 수 있다. 마치 당신의 서버에 연결하는 것과 같다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ubuntu에 Virtualbox를 설치하는 2~3단계의 쉬운 단계가상화는 실제 하드웨어에서 추상화된 계층에서 컴퓨터 시스템의 가상 인스턴스를 실행하는 프로세스입니다. 이를 통해 단일 컴퓨터 시스템에서 여러 운영 체제를 동시에 실행할 수 있습니다. Oracle VM VirtualB...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.