2017-04-12 6 views
1

현재 내가 쓰는 The Uncomplicationbook에는 root로 새 사용자를 만들고 해당 사용자에 대해 rvm을 설치 한 다음 rvm을 실행하기 위해 전환합니다. 그러나 그것은 받아들이지 않는 것 같습니다. 여기 내가 현재 운영하고있는 것이있다. 기본적으로실행 방법 특정 사용자로 수행 할 수있는 작업

, 그것은 도착,

--- 
- name: Install pexpect 
    yum: 
    name: pexpect 
    state: latest 
- name: Create rvm group 
    group: 
    name: rvm 
    state: present 
- name: Create rvmuser 
    user: 
    name: rvmuser 
    state: present 
    group: rvm 
    password: "{{vault_rvm_password}}" 
- name: Download signing key 
    shell: "command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -" 
    become: True 
    become_user: rvmuser 
- name: RVM single-user install 
    shell: "curl -L https://get.rvm.io | bash -s stable" 
    become: True 
    become_user: rvmuser 
- name: Install Ruby 
    shell: "rvm install 2.2.1" 
    become: True 
    become_user: rvmuser 

(나는 RPM을 설치 yum를 사용하여 시도,하지만 gem 실패이 특정 쉘 단계는 루비의 특정 버전을 설치하는 선호하는 방법이 될 것으로 보인다.) "Ruby 설치"단계에서 rvm을 찾을 수 없기 때문에 실패합니다. 이는 여전히 루트 권한으로 명령을 실행하려고 시도하고 있음을 보여줍니다. 여기에 오류가 있습니다 :

TASK [ruby : Install Ruby] ***************************************************** 
fatal: [10.121.250.21]: FAILED! => {"changed": true, "cmd": "rvm install 2.2.1", "delta": "0:00:00.007545", "end": "2017-04-12 16:14:35.974732", "failed": true, "rc": 127, "start": "2017-04-12 16:14:35.967187", "stderr": "/bin/sh: rvm: command not found", "stdout": "", "stdout_lines": [], "warnings": []} 

내가 잘못하고 있습니까, 아니면 뒤에 뭔가 잘못 가고 있습니까?

편집 : 사용자가 제대로 생성되고 있음을 확인했습니다. 상위 5 단계를 실행 한 후 컴퓨터에 SSH를 넣고 rvmuser으로 전환하면 which rvm이 경로를 반환합니다. 경로 문제처럼 보인다

답변

2

, 즉 새로 rvmuser$PATH에서 rvm이없는 생성 :

이 작업에 rvm에 전체 경로를보십시오 :

- name: Install Ruby 
    shell: "rvm install 2.2.1" 
    become: True 
    become_user: rvmuser 
+0

불행하게도 이러한 경우가. 수동으로 SSH를 실행하여 rvmuser로 전환하면 'which rvm'이 성공합니다. 디렉토리는 PATH 변수에 나타납니다. – TheSoundDefense

+3

Anabilities는 모듈을 전송하고 실행할 때 로그인 쉘을 사용하지 않으므로'rvm' 사용자의'$ PATH '를 선택하지 않습니다. 'rvm'을 전체 경로와 함께 실행하거나 env를 쉘 작업 소스로 사용할 수 있습니다 : pseudocode'- shell :./etc/environment && commandhere' – Zlemini

+0

아, 그건 의미가 있습니다. 이것은 트릭을 한 것으로 보인다! 이제 저는 기대를 이해해야합니다. 감사! – TheSoundDefense

관련 문제