How can I install specialized environments for different Perl applications?

后端 未结 8 1117
轻奢々
轻奢々 2021-01-31 19:00

Is there anything equivalent or close in terms of functionality to Python\'s virtualenv, but for Perl?

I\'ve done some development in Python and a possibility of having

8条回答
  •  夕颜
    夕颜 (楼主)
    2021-01-31 19:36

    It looks like you just need to use the INSTALL_BASE configuration for Makefile.PL (or the --install_base option for Build.PL)? What exactly do you need the solution to do for you? It sounds like you just need to get the installed module in the right place. You've presented your problem as an XY Problem by specifying what you think is the solution is rather than letting us help you with your task.

    See How do I keep my own module/library directory? in perlfaq8, for instance.

    If you are downloading modules from CPAN, the latest cpan command (in App::Cpan) has a -j switch to allow you to choose alternate CPAN.pm configuration files. In those configuration files you can set the CPAN.pm options to install wherever you like.

    Based on your clarification, it sounds like local::lib might work for you in single, simple cases, but I do this for industrial strength deployments where I set up custom, private CPANs per application, and install directly from those custom CPANs. See my MyCPAN::App::DPAN module, for instance. From that, I use custom CPAN.pm configs that analyze their environment and set the proper values to each application can install everything in a directory just for that application.

    You might also consider distributing your application as a Task::. You install it like any other Perl module, but dependencies share that same setup (i.e. INSTALL_BASE).

提交回复
热议问题