Windows 용 ActivePerl 또는 Strawberry Perl을 선택해야합니까? [복제]
이 질문에 이미 답변이 있습니다.
- Windows에서 어떤 버전의 Perl을 사용해야합니까? [종료] 11 개의 답변
저는 Perl을 처음 접했지만 사용해보고 싶습니다. Windows 플랫폼에서 사용할 수있는 두 개의 경쟁 배포판에 대해 읽었습니다 ( 다른 OS 에는 Perl 만있는 것 같습니다 .).
Wikipedia에 따르면 Strawberry는 필요한 경우 CPAN 모듈을 컴파일하기위한 추가 개발 도구를 제공합니다. 나에게 꽤 좋은 것 같다.
또한 ActivePerl에는 PPM과 함께 설치하기 쉬운 많은 사전 패키지 모듈이 있습니다. 너무 좋아요!
이 둘 사이에는 분명한 상충 관계가 있습니다. 시작하려면 무엇을 선택해야할까요? 하나를 선택하면 다른 것으로 마이그레이션하는 것이 얼마나 어렵습니까?
편집 : 두 배포판 모두 몇 주 동안 실행했습니다. 나는 실제로 좋은 것 둘 다 좋아했습니다! 둘 중 하나가 잘못 될 수는 없습니다. 오프라인 문서 (HTML) 와 함께 제공되기 때문에 ActivePerl을 사용하게되었습니다. 이동 중이 거나 항상 연결되어 있지 않은 사람들에게 큰 생명을 구했습니다. 항상 온라인 상태가 아니었을 때 휴가 중일 때 Perl 언어를 시작하는 것이 매우 쉬웠습니다.
딸기는 크지 않더라도 적어도 그만큼 훌륭합니다. 그래서 저도 전적으로 추천 할 수 있습니다. 그리고 저는 Perl을 배워야한다고 말해야합니다. 그것은 매우 아름다운 언어입니다. 시도 해봐!
몇 년 동안 두 가지를 모두 사용한 후에는 적어도 Activeperl이 훨씬 더 편리한 선택이라고 말하고 싶습니다. PPM-Installer는 ActivePerl의 당신이 추가 할 수 있습니다에 포함 된 다른 PPM 저장소 하지만, 준비 및 Windows 용 테스트 - 당신이 CPAN 볼 수 있습니다 거의 모든 유용한 펄 모듈에 액세스 할 수 있습니다. 이것은 장기적으로 볼 때 훨씬 더 나은 (그리고 더 강력한) 선택이었습니다. Windows 버전의 Apache http 서버의 경우에도 미리 컴파일 된 mod_perl (2.0.4) ppm을 사용할 수 있으며 Activeperl 5. 12 .1 및 Apache 2.2.15 와 함께 즉시 작동합니다 .
Windows 7에 DBI + DBD :: mysql을 설치하려고 시도한 후 Strawberry를 떨어 뜨린 것 같습니다 ( Activeperl에서는 생각할 필요 가 없습니다 . ppms를 클릭하고 설치를 선택하십시오).
그러나 아마도 그것은 지금까지 해결 될 것입니다. 그리고 아마도 스트로 베리가 설치 될 디렉토리를 선택할 수있을 것입니다.
BTW : 자신의 인라인 또는 XS를 컴파일 하려면 ppm 단위로 MinGW 컴파일러를 설치하면됩니다 (그렇게하지 않았지만 흥미로워 보입니다).
문안 인사
rbo
부록 : 아래 댓글을 읽은 후 Strawberry Perl을 다시 확인하여 5.12.0 릴리스 (실제 버전)의 기능인 설치 디렉토리를 변경할 수 있습니다. 이것은 스트로 베리 펄 (Activeperl과 비교하여)의 중요한 (imho) 단점을 해결할 것입니다.
Strawberry Perl은 CPAN을 사용하므로 모듈에 관한 한 최신 상태입니다. CPAN에 항목이 추가되면 즉시 액세스 할 수 있습니다. Strawberry Perl은 또한 MinGW와 함께 제공됩니다. 이는 Strawberry Perl이 수정없이 CPAN에서 직접 XS 모듈을 상당히 많이 사용할 수 있음을 의미합니다. 는 MinGW 분포는 함께 제공 gcc
, make
, ld
당신이 모듈을 구축 할 수 있도록하고 다른 도구. Strawberry Perl에는 PPM (Perl Package Manager 파일)을 설치할 수있는 몇 가지 모듈도 함께 제공됩니다.
ActivePerl은 PPM (Perl Package Manager)이라는 자체 형식을 사용하여 모듈을 설치합니다. 공식 저장소는 ActiveState에서 호스팅합니다. 대부분의 인기있는 모듈에 대한 PPM을 찾을 수 있으므로 모호하거나 새로운 패키지를 찾는 경우가 아니면 문제가 발생하지 않아야합니다 (PPM이 일반적으로 CPAN보다 뒤쳐지기 때문에 최첨단 기능이 작동하지 않음). CPAN 모듈보다 설치하기 쉽지만 PPM은 Windows 용으로 특별히 만들어 졌으므로 일부 CPAN 모듈은 작동하지 않습니다 (유닉스 관련 작업을 수행하기 때문에).
나는 이전에 두 가지를 모두 사용했으며 대부분의 경우 작동하는 것처럼 보였습니다. 하지만 환경이 유닉스에 가까워서 비 호환성이 많지 않기 때문에 저는 Strawberry Perl에 의지합니다. 반면에 ActivePerl은 Windows 용으로 만들어 졌으므로 Windows와 매우 잘 작동합니다.
또 다른 옵션은 Cygwin과 함께 제공되는 Cygwin 및 Perl을 설치하는 것입니다. 나는 전에 그것을 해왔고 합리적으로 잘 작동합니다. 또한 CPAN에 액세스 할 수 있습니다.
자신에게 가장 적합한 것을 선택하십시오.
Vivin Paliath의 유용한 답변을 약간 증폭 :
AcitveState / PPM 전문가 : 해당 버전에 대한 PPM이 있으면 간단하게 작동 할 것입니다.
ActiveState / PPM 단점 : 항상 PPM이 있거나 적어도 항상 최신 버전은 아닙니다.
Strawberry / CPAN 전문가 : 귀하의 저장소는 CPAN이며 타사에서 유지 관리하는 바이너리가 아닙니다. 작성자가 릴리스하는 순간 새 모듈이 있으며 작성자가 의도 한 빌드 시스템을 사용하고 있습니다.
Strawberry / CPAN 단점 : 모든 것이 Windows 도구로 완벽하게 구축되는 것은 아닙니다.
딸기 / CPAN의 완화 요소 : 딸기 개발자들 시도 정말 열심히, 정말 모든 것이 순조롭게 진행 있는지 확인하고 가능한 한 CPAN의 대부분은 당신에게 사용할 수있는 한, 그리고 모듈은 Windows에서 빌드로 어려움 (문제 명소로 식별 할 때,하지만 다른 인기있는 모듈 / 앱에 필요함) 작성자와 협력하여 모든 사람 이 설치할 수 있도록 모듈을 수정 하거나 예외적 인 경우 자체 수정을 적용하고 해당 모듈을 Strawberry 또는 Strawberry Professional과 번들로 제공합니다.
제 취향은 딸기입니다. ActiveState가 무엇을하려고하는지 감사하지만 개발 프로세스의 병목 현상이라고 생각합니다. 그들은이었다 필요한 커뮤니티가 모여서 펄 생태계의 "세계 최초"로 윈도우를 가져올에 딸기를 구축하기 전에,하지만 그들은 더 이상 필요하지 않은.
딸기는 접근 방식에서 더 Unixy이며, 그와 함께 일할 때 항상 매우 행복했습니다.
그러나 ActiveState는 사용자 지정 패키지 관리 시스템으로 인해 작업했을 때 엄청난 고통이었습니다. 이것은 기업 환경에있을 때 중요합니다.
그냥 엉망으로 IMO, 딸기가 더 좋습니다. /주걱
Both are great and work the same. Strawberry is known for being able to build XS modules, but you can do that with ActiveState too if you just install the Visual Studio SDK (or the free express version).
For that matter, if you have access to Visual Studio, the best you can do is to build Perl from source (it's pretty easy if you read the README) and keep building your modules with the same compiler. That's actually a better idea than having a mixture of compiler/modules.
One thing you have to consider if using ActiveState: If you install it on a server facing the internet, then you are required to buy a Business license ($1000/year/server as noted by Ron Warshawsky). It doesn't mean it won't work, it's only a matter of being a requirement in the EULA. Many people don't know this and have it installed on internet-facing servers without buying the corresponding license.
In a perfect world, I'd choose debian-interix or pkgsrc-interix perl (not the ancient Perl that ships with Interix/SFU/SUA) since it provides the most POSIX / UNIX -like system (including real copy-on-write fork, not windows fork emulation from Cygwin). I have in the past (and it is installed on Windows machines here), but not everyone can / will install SFU/SUA just for Perl. In those cases I'd recommend ActivePerl, primarily for the interface's familiarity to Windows users (PPM graphical shell versus CPAN) and its integration with the Perl Dev Kit (PerlExe, PerlNET, PerlSvc, and friends). Also, contrary to what others have answered, you can use CPAN (and the CPAN shell) with ActivePerl (though it does involve installing the necessary dev tools via PPM first) if you need it.
ActivePerl excludes tons of modules from Community edition and building them under Windows is a real pain.
Also, they would let you download and use only latest editions for free. Everything else, like access to 5.8.8 or to earlier version of modules is either Business ($1000/year/server) or Enterprise edition (per quote).
If your design your application right, it shouldn't matter which you choose.
A big point might be the versions of various modules that each can provide, or not provide. PPM packages can lag behind CPAN releases, but if you aren't careful, bleeding edge CPAN releases can break backwards compatibility. Furthermore, sometimes there will be PPM packages for things that just won't build properly under Strawberry (though this implies that the module is poorly designed more often than not).
Just be aware of the versions of any modules you use, and you should be fine, regardless of which you choose.
If Larry Wall uses Strawberry Perl so should you. ;)
If you are using the box.com client to sync files, then you probably want (at least at the moment) to go with Strawberry Perl. The ppm executable conflicts with one of the Box.com DLLs. The gui will not start at all (yielding a Windows message that the "perl ... interpreter has stopped working".) I have also had intermittent problems using the command line version of ppm when the Box.com client is installed.
'Programing' 카테고리의 다른 글
JavaScript를 사용하여 HTML의 CSS 배경색을 설정하는 방법 (0) | 2020.08.09 |
---|---|
SQLite 재설정 기본 키 필드 (0) | 2020.08.09 |
ASP.NET MVC에서 오류 로깅 (0) | 2020.08.08 |
ADT는 언제 BuildConfig.DEBUG를 false로 설정합니까? (0) | 2020.08.08 |
파이썬에서 "in"의 연관성? (0) | 2020.08.08 |