하나의 CPAN 종속성이있는 Perl 응용 프로그램을 배포하고 싶습니다. 누군가가 응용 프로그램을 시작할 때이 종속성에 대한 검사를 포함시킬 수 있습니까? 커맨드 라인 인자 또는 내부 펄을 직접 통용합니까?Perl 응용 프로그램에 CPAN 종속성을 포함시키는 방법은 무엇입니까?
0
A
답변
3
다른 의존성이없는 순수한 Perl 모듈입니까?
나는 내 코드와 함께 패키지화했다. 흠, 원하는 경우 파일에 파일을 추가 할 수도 있습니다.
좀 더 복잡하다면, 즉 설치해야하는 모듈이 12 개 있고, 필요한 컴파일이 있다면 CPAN을 사용하여 다운로드해야합니다. CPAN::AutoINC은 모듈이 필요하고 @INC
경로가 아닌 경우 CPAN에서 필요한 모듈을 다운로드하고 설치한다고 가정합니다.
그러나 제 경험으로는 엉망인 '벌레'로 끝납니다. 사용자는 프로그램을 실행하기 시작할 수 있습니다. 1 분 동 안 실행하면 실제로 시간이 없을 때 필수 모듈을 다운로드, 컴파일 및 테스트하는 데 20 분을 소비하고 있음을 알 수 있습니다.
실패하면 무엇이 필요한지 잘 설명하는 것이 좋습니다. 사용자는 cpan
을 루트로 실행하여 시스템의 모든 사용자가 사용할 수 있습니다. 또는 시스템 관리자에게 요청할 수도 있습니다.
나는 이런 식으로 뭔가 할 수있는 발견했습니다
our $missingModuleFlag;
BEGIN {
eval { require My::Mod; };
our $missingModuleFlag = [email protected] if ([email protected]);
}
[...]
our $missingModuleFlag; #Package Variable -- Value is from above
if ($missingModuleFlag) {
die <<EOM;
ERROR: You are missing module "My::Mod" which is required for
this program. Please use "cpan" to download this module
and install it on this server. If you have no idea what
I am talking about, see http://www.cpan.org/modules/INSTALL.html.
If that doesn't make any sense to you, then ask a system administrator.
EOM
}
그것은 문제이며, 무엇을 할 필요가 있고 중 하나를 설치 강행에 사용자에게 선택권을 제공합니다, 또는에 대해 설명을 그것을 위해 다른 사람에게 물어보십시오.
5
이 question에서 논의 된 여러 가지 방법 외에도 필수 모듈을 코드와 함께 번들링하는 것이 좋습니다. PAR
, PAR::Packer
및 기타 옵션을 여러 개 열 수 있습니다.
관련 문제
- 1. Perl 응용 프로그램을 CPAN 모듈로 개발합니까?
- 2. 응용 프로그램에 광고를 포함시키는 방법은 무엇입니까?
- 3. Perl 모듈에 로깅을 포함시키는 방법은 무엇입니까?
- 4. "diff"를 Perl 테스트에 포함시키는 방법은 무엇입니까?
- 5. 최신 CPAN 모듈의 종속성을 다시 작성하거나 다시 설치하는 방법은 무엇입니까?
- 6. 콘솔 응용 프로그램에 "도움말"메시지를 포함시키는 가장 좋은 방법은 무엇입니까?
- 7. 그래픽 대화 형 IronPython 셸을 응용 프로그램에 포함시키는 방법은 무엇입니까?
- 8. OpenOffice Calc를 내 응용 프로그램에 포함시키는 방법은 무엇입니까?
- 9. Netbeans Souce 코드 편집기를 Swing 응용 프로그램에 포함시키는 방법은 무엇입니까?
- 10. 다른 응용 프로그램에 MDI 양식을 포함시키는 방법은 무엇입니까?
- 11. SQLite를 Windows Form 응용 프로그램에 포함시키는 방법은 무엇입니까?
- 12. iPhone 응용 프로그램에 GPL 구성 요소를 포함시키는 방법은 무엇입니까?
- 13. 일반적인 perl/cpan 환경 설정
- 14. lib/*. pm이없는 Perl CPAN 스타일 패키지
- 15. Perl 6에서 작동하는 CPAN/CPAN6 프로젝트가 있습니까?
- 16. Perl : CPAN 모듈을 설치할 때 오류가 발생했습니다.
- 17. 응용 프로그램의 모든 종속성을 찾는 방법은 무엇입니까?
- 18. 배포하는 동안 다른 응용 프로그램을 내 응용 프로그램에 포함시키는 방법은 무엇입니까?
- 19. NO 라이브러리가있는 C 프로그램에 JVM을 포함시키는 데 권장되는 방법은 무엇입니까?
- 20. ASP.NET 웹 응용 프로그램을 다른 웹 사이트에 포함시키는 방법은 무엇입니까?
- 21. CPAN 모듈을 설치하지 않고 deps를 설치하려면 어떻게해야합니까?
- 22. smarty에 도우미를 포함시키는 방법은 무엇입니까?
- 23. 내 응용 프로그램 용 설치 프로그램에 Firebird 설치를 포함시키는 가장 좋은 방법은 무엇입니까?
- 24. LinkedIn 사용자 프로필 페이지 피드를 웹 응용 프로그램에 포함시키는 방법은 무엇입니까?
- 25. Visual C++ 2010의 MFC 응용 프로그램에 ODBC 버전 3.0 라이브러리를 포함시키는 방법은 무엇입니까?
- 26. Ecclipse IDE의 안드로이드 응용 프로그램에 Skype Kit Java API를 포함시키는 방법은 무엇입니까?
- 27. 플렉스 응용 프로그램에 PostScript True Type 1 Mac 글꼴을 포함시키는 방법은 무엇입니까?
- 28. Flex 그래픽 응용 프로그램에 SWF 그래픽을 포함시키는 기본 방법은 무엇입니까? 플렉스 3에서
- 29. 내 C/C++/Win32 응용 프로그램에 WebKit를 포함시키는 방법은 무엇입니까? 내가 찾은
- 30. Windows Mobile 6 응용 프로그램에 비디오를 포함시키는 가장 좋은 방법은 무엇입니까?
http://tackoverflow.com/questions/1094125/try-to-use-module-in-perl-and-print-message-if-module-not-available –