rakudo / rakudo.org

Code for rakudo.org website
https://rakudo.org/
Artistic License 2.0
8 stars 18 forks source link

I find it really complicated and confusing for beginners to install Raku on the system. #67

Closed leobm closed 3 years ago

leobm commented 3 years ago

The website (https://rakudo.org/) raises false expectations in the download section. For example, it says "Archives and installers contain a precompiled Rakudo and the Zef module manager."

But this is not true. The zef module manager is not included in the binary releases. Or do I understand something wrong?

In the Rakudo Star Bundle zef seems to be included. But aren't the Star Bundles a bit outdated and don't include the latest versions of the rakudo VM? I had the Star Bundle installed for Windows only.

I then installed zef (and raku) under Ubuntu (WSL) via this Gihub page. https://github.com/ugexe/zef I found the project page via google. Can't this be included in the description for the https://rakudo.org/ website?

But even there the description for the installation is a bit faulty. Instead of the following commands: $ git clone https://github.com/ugexe/zef.git $ cd zef $ raku -I. bin/zef install .

I had to use the following command to install zef with raku. $ raku -Ilib bin/zef install .

Can't you make it all a little more understandable. I think many other beginners will give up faster.

zaucker commented 3 years ago

I didn't install it on Windows, but just unpacked the zip-file on my Mac:

mac-fritz:rakudo-moar-2021.05-01-win-x86_64-msvc zaucker$ ls bin share/perl6/site/bin
share/perl6/site/bin:
zef     zef-j       zef-j.bat   zef-js      zef-js.bat  zef-m       zef-m.bat   zef.bat

bin:
moar.dll        perl6-debug-m.exe   perl6w.exe      rakudo-m.exe
moar.dll.lib        perl6-debug.exe     raku-debug.exe      rakudo.exe
moar.exe        perl6-m.exe     raku.exe        rakudow-m.exe
nqp-m.exe       perl6.exe       rakudo-debug-m.exe  rakudow.exe
nqp.exe         perl6w-m.exe        rakudo-debug.exe    rakuw.exe

zef is indeed included, though probably not where you'd expect.

The zef install command does indeed look wrong to me.

leobm commented 3 years ago

ok, just noticed too. I had expected it right in the root bin.

sorry...

zaucker commented 3 years ago

ok, just noticed too. I had expected it right in the root bin.

sorry...

Not to worry ...

AntonOks commented 3 years ago

The website (https://rakudo.org/) raises false expectations in the download section. For example, it says "Archives and installers contain a precompiled Rakudo and the Zef module manager."

But this is not true. The zef module manager is not included in the binary releases. Or do I understand something wrong?

Well...The official rakudo-moar ZIP file should also have ZEF included.

In the Rakudo Star Bundle zef seems to be included. But aren't the Star Bundles a bit outdated and don't include the latest versions of the rakudo VM?

"Outdated" for packages older then 1 year is kind of a nice description in a DevOps, CI/CD world nowadays :|

I had the Star Bundle installed for Windows only.

  1. Yes, the official "Rakudo Star Windows" is outdated,
  2. I build a "GitHub Actions" based release since ~2months, which can be found in my repo. Please give it a spin and let me know if it works ok for you or...
  3. There is a discussion with Patrick ongoing and I hope we manage to offer up2date MSI packages soon.

Btw, you can use SCOOP to install both, the latest official rakudo-moar and also Rakudo-Star releases. Check for SCOOP on https://rakudo.org/downloads ;) So $env:Path and friends will be set for you and i.e. ZEF should "just work" :)

Can't you make it all a little more understandable. I think many other beginners will give up faster.

From my understanding, the "Star" bundles should address "beginners", but Windows and macOS packages are stone-age, as you know...

patrickbkr commented 3 years ago

@AntonOks Great to finally see MSI packages again. Thank you for working on this!

@leobm May I ask if you had a look at the README.md file in the binary release archive you downloaded? The reason I ask is because you are not the first to fall into this trap and I wonder where the chain of information could be improved.

leobm commented 3 years ago

Hi @patrickbkr,

to my shame I must confess I have not read the README. I just re-read it and of course it says where zef is located. Although maybe I would have missed it if I had read the README. Because it only says something about "Installing modules". It would be better if the name zef would appear in the headline.

I think the problem for me was that I was working from a certain expectation. So the way you usually unpack a packed binary distribution directly and make it "normally" usable.

I did the following in my home directory under Linux/ubuntu:

wget -c "https://rakudo.org/dl/rakudo/rakudo-moar-2021.05-01-linux-x86_64-gcc.tar.gz"
tar -xvf rakudo-moar-2021.05-01-linux-x86_64-gcc.tar.gz
mv rakudo-moar-2021.05-01-linux-x86_64-gcc/ rakudo

I have set the path in my .profile or .bashrc to the bin directory export PATH=$HOME/rakudo/bin:$PATH

and then I run raku.

Then comes the following message: "You may want to zef install Readline or zef install Linenoise or use rlwrap for a line editor".

ok,so I tried to execute the command on the terminal. Then of course the following message comes up under Ubuntu:

"Command 'zef' not found, but can be installed with: sudo apt install perl6-zef".

Of course I was surprised, because I thought zef was already included in the binary distribution, at least that's what it said on the download page. I looked again in the root bin directory and didn't see the zef executable there.

It is not intuitively obvious that zef is/was under share/perl6/site/bin is located. (Why actually perl6? I wouldn't have looked there anyway).

So what I would do is to add a short description on the download page, how the environment variables "PATH" have to be set on the respective system.

Or when you see the first message that you should install Readline or Linenoise, maybe you can give a warning notice if zef is not in the environment PATH.

Or maybe a short explanation of what is in the binary release. If you are new with rakudo, you have of course no idea what zef,moar,nqp,perl6-,raduo- is.


Edit:

Ok, i admit, i may be a dumb user. I just wanted to look at raku again. I had registered for the Online Perl Conference and found some of the talks about Raku really interesting and wanted to play around with raku again. From other programming platforms (nodejs, golang...) you are really pampered by now, you don't have to think or read a lot to try something quickly. There is usually always everything immediately. E.g. under Nodejs npm is also included. But you don't use that right from the start. But if I run raku and raku tells me, it's good if I install something, I do it of course.

leobm commented 3 years ago

@AntonOks thank you, i will try your Rakudo-Star binary release tonight. I will let you know if it worked.

leobm commented 3 years ago

@AntonOks I have tested your msi release. https://github.com/AntonOks/rakudo-star-win/releases/download/2021.05/rakudo-star-2021.05-win-x86_64-.JIT.msi

Everything seems to work. The environment variables (PATH) are also set properly. Thank you.

AntonOks commented 3 years ago

@AntonOks I have tested your msi release. https://github.com/AntonOks/rakudo-star-win/releases/download/2021.05/rakudo-star-2021.05-win-x86_64-.JIT.msi

Everything seems to work. The environment variables (PATH) are also set properly. Thank you.

THANK YOU for trying it out and, even more, your feedback!

patrickbkr commented 3 years ago

@leobm Did you notice https://github.com/rakudo/rakudo.org/pull/68 ?

patrickbkr commented 3 years ago

With rakudo/rakudo.org#68 in I think this issue can be closed.