TL; DR Travis에 Ruby가 아닌 프로젝트 (주로 Python) 프로젝트에 Ruby gem을 설치하면 어떻게 실행 파일을 사용할 수 있습니까? 빌드 시스템의 일부로 제공됩니다.Travis에서 python 프로젝트를 빌드하는 도구로 사용할 수있는 도구를 설치하십시오.
테스트 후 및 배포 전에 python project에 몇 가지 추가 작업을 빌드하는 데 사용할 Ruby gem을 설치하려고합니다. 특히, github-changelog-generator을 사용하여 나를위한 변경 로그를 자동 생성합니다.
트래비스의 새로운 컨테이너 빌드가 sudo
을 허용하지 않기 때문에 루트에 설치할 수없는 것처럼 보입니다.
gem install --user-install github_changelog_generator
을 사용하여 설치를 시도했습니다. 처음에는 github_changelog_generator
을 실행할 때 command not found
오류가 발생했습니다.
export PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"
전에 다음 github_changelog_generator
결과를 실행하려고 : 나에게 제안이 종류의 그것을 발견했지만 확실히 뭔가를 이해하지 못하는
/home/travis/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:315:in `to_specs': Could not find 'github_changelog_generator' (>= 0) among 14 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/home/travis/.rvm/gems/ruby-1.9.3-p551:/home/travis/.rvm/gems/[email protected]', execute `gem env` for more information
from /home/travis/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:324:in `to_spec'
from /home/travis/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:64:in `gem'
from /home/travis/.gem/ruby/1.9.1/bin/github_changelog_generator:22:in `<main>'
from /home/travis/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `eval'
from /home/travis/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `<main>'
.
내가 가진 것보다 Ruby의 경험이 많은 사람에게는 분명히 알 수 있습니다. 다음과 같이
현재 트래비스의 YAML 조각은 다음과 같습니다
after_success:
- gem install --user-install github_changelog_generator
- export PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"
- github_changelog_generator -u pyFFTW -p pyFFTW
예,'language : python'과'sudo : false'가 설정되어 있습니다. 다른 출력을 살펴 보겠습니다. 감사! –
네, 도와 줘서 고마워. 해결책은 'rvm default'를 수행하는 것처럼 쉬운 '관련 rvm'을 활성화 한 다음 '--user-install' 인수를 제거하는 것이 었습니다. 그래서'rvm default' 다음에'gem install github_changelog_generator'가옵니다. 완성도에 대한 답변을 추가 할 수 있다면 좋을 것입니다. –