루비 애플리케이션을 단일 실행 파일로 포장합니다.
Ruby Packer로 프로젝트를 컴파일하는 데 5 분도 채 걸리지 않습니다.
Plain Ruby에서 작동하는 한 어떻게 개발하든 응용 프로그램에서 단일 한 줄의 코드를 수정할 필요가 없습니다!
창문,
마코스와
리눅스load(my_path + '/x.rb') )를 포함하여 모든 형태의 require 및 load 기본적으로 지원합니다.다음은 최신 안정적인 Ruby Packer 릴리스입니다.
| OS | 아치. | 실행 파일 |
|---|---|---|
| 창 | x64 | https://gw.alipayobjects.com/os/rmsportal/wxwlpruttreynvvxjmtr.zip |
| 마코스 | x64 | https://gw.alipayobjects.com/os/enclose-prod/b812fa0f-d52b-44f1-8233-65ab8707cf1f/rubyc-v0.4.0-darwin-x64.gz |
| 리눅스 | x64 | https://gw.alipayobjects.com/os/enclose-prod/1fd23e6b-d48f-4ed0-94dd-f53960253/rubyc-v0.4.0-linux-x64.gz |
master 브랜치 CI가 성공할 때마다 루비 패커 프리 릴리스 바이너리가 자동으로 생성됩니다. 다음은 최신 불안정한 사전 릴리스 빌드입니다.
| OS | 아치. | 실행 파일 |
|---|---|---|
| 창 | x64 | https://github.com/pmq20/ruby-packer/releases/download/windows-x64/rubyc.exe |
| 마코스 | x64 | https://github.com/pmq20/ruby-packer/releases/download/darwin-x64/rubyc |
| 리눅스 | x64 | https://github.com/pmq20/ruby-packer/releases/download/linux-x64/rubyc |
Windows에 설치하십시오먼저 전제 조건을 설치하십시오.
choco install squashfs 실행할 수 있습니다.nasm 작동하는지 확인하십시오. 그런 다음 불안정한 프리 릴리스 또는 안정적인 릴리스에서 rubyc.exe 다운로드하십시오. 선택적으로 C:Windows 또는 기타 PATH 디렉토리 아래에 넣으십시오. Visual Studio의 "X64 Native Tools 명령 프롬프트"를 열고 rubyc --help 를 실행하십시오.
MACOS에 설치하십시오먼저 전제 조건을 설치하십시오.
brew install squashfsCommand Line Tools 설치해야합니다. 메뉴에서 찾을 수 있습니다 Xcode -> Preferences -> Downloadsgcc 와 make 포함 된 관련 도구 체인을 설치합니다. 그런 다음 불안정한 프리 릴리스 또는 안정적인 릴리스에서 rubyc 다운로드하십시오. chmod +x 실행하여 실행 권한을 부여하고 ./rubyc --help 실행하십시오.
Linux에 설치하십시오먼저 전제 조건을 설치하십시오.
sudo yum install squashfs-toolssudo apt install squashfs-toolsgcc 또는 clang 그런 다음 불안정한 프리 릴리스 또는 안정적인 릴리스에서 rubyc 다운로드하십시오. chmod +x 실행하여 실행 권한을 부여하고 ./rubyc --help 실행하십시오.
rubyc [OPTION]... [ENTRANCE_FILE]
ENTRANCE_FILE refers to the path of an executable ruby script from your project, e.g. "bin/rails".
If ENTRANCE_FILE was not provided, a single raw Ruby interpreter executable would be produced.
-r, --root=DIR The path to the root of your application
-o, --output=FILE The path of the output file
-d, --tmpdir=DIR The directory for temporary files
--keep-tmpdir Keeps all temporary files that were generated last time
--openssl-dir The path to openssl
--make-args=ARGS Extra arguments to be passed to make
--nmake-args=ARGS Extra arguments to be passed to nmake
-i, --ignore-file=STRING Ignore file(s) from build
--debug Enable debug mode
--quiet Enable quiet mode
-v, --version Prints the version of rubyc and exit
-V, --ruby-version Prints the version of the Ruby runtime and exit
--ruby-api-version Prints the version of the Ruby API and exit
-h, --help Prints this help and exit
--openssl-dir 옵션Rubyc는 인증없이 자체 버전의 OpenSSL을 컴파일합니다. Rubyc와 함께 SSL을 사용할 수 있으려면 인증을 어디서 찾을 수 있는지 알아야합니다.
기본적 으로이 경로는 /usr/local/etc/openssl/ 로 설정되어 있지만 --openssl-dir 인수를 사용하여 재정의 할 수 있습니다.
컴파일 된 패키지를 실행하는 사용자에게는이 디렉토리에 인증이 있어야합니다.
--ignore-file 옵션빌드에 포함 된 특정 파일을 원하지 않으면 -i를 사용하여 명령 줄에서 무시할 수 있습니다.
rubyc -i ignore.file -i ignore-2.file -i "ignore*"
또는 프로젝트의 루트에서 .rubycignore 파일을 만들어 무시해야 할 파일을 지정할 수 있습니다.
즉, 프로젝트를 포장하지 않고 Rub Ruby 통역사를 포장합니다.
rubyc
./a.out (or a.exe on Windows)
CLI 유틸리티의 예로 Ruby Packer 자체를 포장 할 수 있습니다.
git clone --depth 1 https://github.com/pmq20/ruby-packer
cd ruby-packer
rubyc bin/rubyc
./a.out (or a.exe on Windows)
rails new yours
cd yours
rubyc bin/rails
./a.out server (or a.exe server on Windows)
rubyc 구축합니다 rubyc 구축하려면 Ruby와 라이브러리를 적어도 포함하는 C 컴파일러와 필요한 도구 체인이 있어야합니다.
도구 체인이 완료되었는지 확실하지 않은 경우 rubyc 구축하려고하면 무언가가 빠졌다는 것을 알 수 있습니다. 불행히도 그것은 낯선 메시지로 말해 줄 수 있습니다. 이 문제가 발생하면 여기에 문제를 제기하십시오.
도구 체인이 설정되면 실행 bundle . 자신의 rubyc Run을 컴파일하려면 :
bundle exec rake rubyc
또는 (디버그 기호로 컴파일하려면) :
ENCLOSE_IO_RUBYC_ADDTIONAL_ARGS=--debug bundle exec rake rubyc
이렇게하면 단일 rubyc 실행 파일이 생성되며, 이는 PATH 위치 내부에 넣을 수 있으므로 명령 프롬프트에서 직접 호출 할 수 있습니다. 예를 들어:
mv rubyc /usr/local/bin
Rubyc에는 빌드 실행 파일의 현재 디렉토리의 모든 파일이 포함되어 있습니다. 이전 Rubyc를 삭제 해야합니다. 그렇지 않으면 스쿼시가 계속 커지고 내장 된 Squashfs 컴파일 시간은 매우 길어집니다 .
Minqi Pan et al.
MIT