-
Notifications
You must be signed in to change notification settings - Fork 65
Fails to install when there is a parent library path and do not recognize parent libsPath #732
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Indeed, pak always installs everything into a single library, that is by design. AFAIR there is an issue to consider packages in other libraries as well. |
The reason we split this, is that some libraries are used by a lot of ppl, not all of them are tech ones, and even some libraries are not always easy to install, so we install in a shared place, so we can upgrade them one time are keep available to all ppl. |
I don't question your reasons. OTOH I am not super eager to support this use case because it is pretty error prone and makes it hard to follow what is installed where. E.g. Sharing a package library among users also leads to unusual errors, e.g. if you update a package in the shared library, that probably breaks everybody's active R session. If you are on Windows, then you might not be able to update a package in the shared library if a user is using that package, etc If you decide that it still make sense to create a shared library, that's fine, and we'll support that at some point, but it is not very high priority for me, because I am worried that people don't realize the problems with this setup. |
I was trying to point out just use cases, so don't worry. I agree with your points, I use this with that considerations, who uses this needs take considerations to do not break everything, in my case I upgrade the system and R packages in a specific time, when no one is using it. At the same time, when we work in institutions for most ppl, "they must use the same package versions", so handle from a centralization place is ideal, only a tech ppl should be able to install and mix versions, obvs non-tech users should not upgrade nor install packages. Thinking in this, maybe the ideal case is give support for this, but in case there is a higher install path, throw an error, and with a param force the installation if we know "what are we doing". |
Hi, I'm using Ubuntu Noble, and I found pak fails to install when you have packages on
/usr/local/lib/R/site-library
.Example:
For root:
Now in a normal user:
This is actually half of the problem, pak should check permissions, and if do not have them, should request to use a local directory.
The second half is if we have a new library pah, we can make a local one just trying to install dplyr normally:
Now that the local folder exists, we can see the second issue, is that in case we have multiple paths on libPath, pak will ignore all of the others, install a package in root means will store on
/usr/local/lib/R/site-library
which also has other packages, but if we try to install again:Pak will reinstall everything, even the packages that are already provided from a parent libPath, is ignoring all the installed libraries.
Tested on git Pak.
Thx!
The text was updated successfully, but these errors were encountered: