본문 바로가기
프로그래밍/Ruby

[군대식 클라우드 코딩 TroubleShooting] - 23 01 09

by 리나그(ReenAG) 2023. 1. 9.
728x90
반응형

다음 글

 

[군대식 클라우드 코딩 TroubleShooting] - 23 01 10

1. 일단 rspec과 관련된 문제가 생각보다 깊다는 것을 알아냈다. 최악의 경우, 현재 rake가 깨졌으며, 그 상태로 작업을 해야하고 이러다가 잘못될 경우에는 복구할 방법이 전혀 없다는 것은 정말

passingprogram.tistory.com

이전 글

 

[군대식 클라우드 코딩] 2. Rails 7.0.4로 업그레이드 시도

이전 글 [군대식 클라우드 코딩] 1. Azure에 원격으로 Ruby On Rails 넣어보기 군대에 있으면 개인 PC는 개뿔 그냥 인터넷만 가능한 뚱딴지 같은 상황이 나온다. 여기서 코딩을 하기위해서는 클라우드

passingprogram.tistory.com

1. 일단 오래간만에 다시 컴백해서 살펴보고 있는데 

Azure에 올리는 기능하고 Test Develeopment 환경도 문제 없어 보임

근데 Rspec이 동작을 안함. 

describe "canary test" do
 it "true to be true" do
  expect(true).to be true
 end
end

간단한 동작테스트도 동작을 안함.

어이없는 이유인게 it을 context안에서 쓸 수가 없다고 에러를 띄우는데 3.9버전도 저런 구문을 썼음을 확인해서 지금은 라이브러리 문제라고 생각 중.

 

2. 일단 확인해보니까 rspec 3.10 하고 3.9가 같이 깔려 있길래 confilct 문제인가 싶어서 nixos에서 깔 수 있는 버전을 없애버림.

{ pkgs }: 
let
  pkgs = import (builtins.fetchTarball {
    url = "https://github.com/NixOS/nixpkgs/archive/860b56be91fb874d48e23a950815969a7b832fbc.tar.gz";
  }) {};
in {
  deps = [
    pkgs.glibc
    pkgs.libffi
    pkgs.nodejs-16_x
    pkgs.ruby
    pkgs.rubyPackages.ffi
    pkgs.rubyPackages.ffi-compiler
    pkgs.sqlite
    pkgs.yarn
  ];
}

원래는 pkgs.rubyPackages.rspec이 있었지만 지워버림 그러니까 바로 3.10버전이 사라져서 confict도 사라짐.

 

3. bundle exec rspec -v로 보니까 확실히 버전이 내가 gemfile.lock에서 지정한 버전이 맞아서 좋아했는데

함정 여전히 똑같은 이유로 안됨. 나중에 bundle env 커맨드를 써서 파악해보기를 일단 내가 ruby는 확실히 nixos에서 가져온걸 쓰고 있는데, rubygem은 기존에 시스템에서 제공해주는 것을 이용하고 있다는 생각이 들음. 

그래서 nixos제공 bundler를 이용해서 bundle install을 했는데, write권한이 없다고 막힌다...;; 그러니까 gem은 또 시스템에서 준걸가지고 해야하는 상황인가 싶다. 이게 맞나도 모르겠고. 아니면 bundler한테 gem 설치디렉토리만 다른데 하라고 하면 될 것같은데, 문제는 bin dir 하고 gem home하고 완전히 같이 바뀐다. 방법이 있긴 한 걸까?

728x90
반응형