http://qs1969.pair.com?node_id=1216016


in reply to Should cpanminus be part of the standard Perl release?

dear marto and all,

I used cpanm client and it's cool and a has a cleaner interface and some interesting experimental features, notably the ability to uninstall modules, not available in the classic cpan classic client.

But, as stated above by Tux with reason a Linux fan, cpanm it's not fully functional on MSWin32 and this is very common for many genial pieces of code by miyagawa. If this is acceptable for example for some webserver PSGI aware (even me I'd put on linux only) it's not for the client used to install modules.

We can like or dislike MSWin32 OSs but they are here and they have big slice of the market. I'm not a fan but I work with it daily so I must be very careful in my choices. I jumped on the strawberry perl charriot many years ago and I'm very happy with it: now I can use perl on MSWin32 the very same way I can use it on linux.

Let's see something:

me@work>cpanm --version cpanm (App::cpanminus) version 1.7044 (D:\path\perl5.26.64bit\perl\sit +e\bin/cpanm) perl version 5.026000 (D:\path\perl5.26.64bit\perl\bin\perl.exe)

Noticed the path? Is not File::Spec a core module since years?

Infact..

me@work>cpanm --self-upgrade Can't find Unicode property definition "e" in regex; marked by <-- HER +E in m/^D:\path\pe <-- HERE rl5.26.64bit\perl\site\bin/ at D:\path\pe +rl5.26.64bit\perl\site\bin/cpanm line 32.

Is not the case to translate directory seprators? or to use quotemeta and qr and eval the regex? Ok it' just an alias fo cpanm App::cpanminus but the latter works fine: App::cpanminus is up to date. (1.7044)

Let's test some module:

me@work>cpanm --test-only Text::Xslate --> Working on Text::Xslate Fetching http://www.cpan.org/authors/id/S/SK/SKAJI/Text-Xslate-v3.5.6. +tar.gz ... OK ! Bad archive: Text-Xslate-v3.5.6.tar.gz ! Failed to unpack Text-Xslate-v3.5.6.tar.gz: no directory ! Failed to fetch distribution Text-Xslate-v3.5.6

Ouch it's my cpanm configuration wrong or broken?

me@work>cpanm --test-only -v Text::Xslate cpanm (App::cpanminus) 1.7044 on perl 5.026000 built for MSWin32-x64-m +ulti-thread Work directory is D:\path\perl5.26.64bit\data/.cpanm/work/1528273179.7 +400 You have make D:\path\perl5.26.64bit\c\bin\gmake.exe You have LWP 6.26 You have D:\path\bin\UnxUtils\usr\local\wbin\tar.exe, D:\path\bin\UnxU +tils\usr\local\wbin\gzip.exe and D:\path\bin\UnxUtils\usr\local\wbin\ +bzip2.exe You have D:\path\bin\UnxUtils\usr\local\wbin\unzip.exe Searching Text::Xslate () on cpanmetadb ... --> Working on Text::Xslate Fetching http://www.cpan.org/authors/id/S/SK/SKAJI/Text-Xslate-v3.5.6. +tar.gz ... OK Unpacking Text-Xslate-v3.5.6.tar.gz ... META.yml MANIFEST ! Bad archive: Text-Xslate-v3.5.6.tar.gz ! Failed to unpack Text-Xslate-v3.5.6.tar.gz: no directory ! Failed to fetch distribution Text-Xslate-v3.5.6

Mah? I have all! let's try dear old cpan

cpan> test Text::Xslate Database was generated on Wed, 06 Jun 2018 07:47:04 GMT Running test for module 'Text::Xslate' ... All tests successful. Files=191, Tests=2740, 130 wallclock secs ( 0.88 usr + 0.41 sys = 1. +28 CPU) Result: PASS SKAJI/Text-Xslate-v3.5.6.tar.gz D:\path\perl5.26.64bit\perl\bin\perl.exe ./Build test -- OK

So, in conclusion, every better, modern, client upgrade will be welcome if it runs as well and everywhere as the older one.

L*

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

Replies are listed 'Best First'.
Re^2: Should cpanminus be part of the standard Perl release? -- MSWin32
by bliako (Monsignor) on Jun 20, 2018 at 12:00 UTC
    notably the ability to uninstall modules,

    I agree that's cool

Re^2: Should cpanminus be part of the standard Perl release? -- MSWin32
by Anonymous Monk on May 23, 2022 at 10:02 UTC
    UnxUtils are from 2003, tar.exe has had many bugfixes since
      Hello Anonymous Monk and thanks for looking to this old post,

      are you arguing that my cpanm test failed for an ancient tar.exe I have in path, specifically from UnXUtils? The very same tar.exe is supposed to be used by the succesful cpan attempt to extract Text::Xslate ..so it should be not tar.exe the guilty. Even if not provided in cpan conf tar.exe is the same:

      cpan> o conf ... tar [ ] ... cpan> quit Lockfile removed. which tar.exe C:\EX_D\ulisseDUE\bin\UnxUtils\usr\local\wbin\tar.exe

      L*

      There are no rules, there are no thumbs..
      Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.