현재 내가 쓰는 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
이 경로를 반환합니다. 경로 문제처럼 보인다
불행하게도 이러한 경우가. 수동으로 SSH를 실행하여 rvmuser로 전환하면 'which rvm'이 성공합니다. 디렉토리는 PATH 변수에 나타납니다. – TheSoundDefense
Anabilities는 모듈을 전송하고 실행할 때 로그인 쉘을 사용하지 않으므로'rvm' 사용자의'$ PATH '를 선택하지 않습니다. 'rvm'을 전체 경로와 함께 실행하거나 env를 쉘 작업 소스로 사용할 수 있습니다 : pseudocode'- shell :./etc/environment && commandhere' – Zlemini
아, 그건 의미가 있습니다. 이것은 트릭을 한 것으로 보인다! 이제 저는 기대를 이해해야합니다. 감사! – TheSoundDefense