ScoopInstaller / Install

📥 Next-generation Scoop (un)installer
https://get.scoop.sh
The Unlicense
742 stars 94 forks source link

Check target path before installation #60

Open HUMORCE opened 1 year ago

HUMORCE commented 1 year ago

Description

Check if the target path of Scoop installation contains Spaces, non-ASCII characters, or it is a non-empty directory before installation then ...

r15ch13 commented 1 year ago
HUMORCE commented 1 year ago

we try to fix it 😄

really? basically, we cannot fix it. some package need to run on STABLE path.

alexeyp0708 commented 8 months ago

really? basically, we cannot fix it. some package need to run on STABLE path.

This can be solved if you refactor your program like this:

To support older versions, if the APP_SCOOP environment variable is missing, it will be equal to the SCOOP variable.

This way you can separate the application directory and the SCOOP application files. By default, they will all be located in one directory.

HUMORCE commented 8 months ago

If you have try the default installation, you will find that Scoop simply adds ~\scoop\shims to $PATH and no other environment variables has been created.

For https://github.com/ScoopInstaller/Scoop/issues/5726, we just need to check the path is empty or not before install.

This way you can separate the application directory and the SCOOP application files. By default, they will all be located in one directory.

This is a thing with Scoop Core, it's nothing to do with installation scripts. BTW, when allow apps install to a path that out of Scoop Root Directory, more issues will arise, e.g. junction creation, disk performance, etc.

alexeyp0708 commented 8 months ago

This is a thing with Scoop Core, it's nothing to do with installation scripts. BTW, when allow apps install to a path that out of Scoop Root Directory, more issues will arise, e.g. junction creation, disk performance, etc.

Ok. Personally, I haven't looked into the details of SCOOP, so I can't comment. A spontaneous idea came to my mind. Now I understand that your package is dependent on other packages.