Skip to content
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

[Bug]: nodejs-lts will no longer update #6467

Open
3 tasks done
havremunken opened this issue Jan 17, 2025 · 6 comments
Open
3 tasks done

[Bug]: nodejs-lts will no longer update #6467

havremunken opened this issue Jan 17, 2025 · 6 comments
Labels
bug Something isn't working

Comments

@havremunken
Copy link

Prerequisites

  • I have written a descriptive issue title.
  • I have searched all issues/PRs to ensure it has not already been reported or fixed.
  • I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name

nodejs-lts

Expected/Current Behaviour

After a long and happy relationship with nodejs-lts, it recently started refusing to update. Output of update attempt in "Steps to Reproduce".

Steps to Reproduce

scoop update *
nodejs-lts: 22.12.0 -> 22.13.0
Updating one outdated app:
Updating 'nodejs-lts' (22.12.0 -> 22.13.0)
Downloading new version
Loading node-v22.13.0-win-x64.7z from cache
Checking hash of node-v22.13.0-win-x64.7z ... ok.
Invoke-HookScript: C:\Users\havremunken\scoop\apps\scoop\current\libexec\scoop-update.ps1:340
Line |
 340 |  … -HookScript -HookType 'pre_uninstall' -Manifest $old_manifest -Arch $ …
     |                                                    ~~~~~~~~~~~~~
     | Cannot validate argument on parameter 'Manifest'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
Uninstalling 'nodejs-lts' (22.12.0)
Invoke-HookScript: C:\Users\havremunken\scoop\apps\scoop\current\lib\install.ps1:710
Line |
 710 |      Invoke-HookScript -HookType $type -Manifest $Manifest -ProcessorA …
     |                                                  ~~~~~~~~~
     | Cannot validate argument on parameter 'Manifest'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
Unlinking ~\scoop\apps\nodejs-lts\current
Remove-Item: C:\Users\havremunken\scoop\apps\scoop\current\lib\install.ps1:842
Line |
 842 |          Remove-Item $currentdir -Recurse -Force -ErrorAction Stop
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot remove item C:\Users\havremunken\scoop\apps\nodejs-lts\current\bin: Access to the path 'C:\Users\havremunken\scoop\apps\nodejs-lts\current\bin' is denied.

Possible Solution

Sorry, no.

Scoop and Buckets Version

scoop --version
Current Scoop version:
859d1db5 (HEAD -> master, tag: v0.5.2, origin/master, origin/HEAD) chore(release): Bump to version 0.5.2 (#6080)

'main' bucket:
7f6377ff9 (HEAD -> master, origin/master, origin/HEAD) bun: Update to version 1.1.45

'extras' bucket:
9ed9f75cb (HEAD -> master, origin/master, origin/HEAD) webstorm: Update to version 2024.3.2-243.23654.120

'nirsoft' bucket:
b38031d (HEAD -> master, origin/master, origin/HEAD) updated manifests

'sysinternals' bucket:
4aa1b85 (HEAD -> main, origin/main, origin/HEAD) [email protected]: Remove `ctrl2cap.exe` bin

'nonportable' bucket:
20ae3d03 (HEAD -> master, origin/master, origin/HEAD) textpad8-np: Update to version 8.21.0

Scoop Config

scoop config

last_update         scoop_repo                              scoop_branch
-----------         ----------                              ------------
17.01.2025 20:02:10 https://github.com/ScoopInstaller/Scoop master

PowerShell Version

$PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.6
PSEdition                      Core
GitCommitId                    7.4.6
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Additional Softwares

Running in Windows Terminal version 1.21.3231.0.

@havremunken havremunken added the bug Something isn't working label Jan 17, 2025
@havremunken
Copy link
Author

Same problem trying to upgrade to 22.13.1, and when trying to scoop uninstall nodejs-lts. I'm basically getting nowhere.

@Ra2-IFV
Copy link
Contributor

Ra2-IFV commented Jan 30, 2025

Can you do a fresh install (fully remove nodejs then reinstall) ?
Also you have privilege problems, run with sudo and try again.

Remove-Item: C:\Users\havremunken\scoop\apps\scoop\current\lib\install.ps1:842
Line |
 842 |          Remove-Item $currentdir -Recurse -Force -ErrorAction Stop
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot remove item C:\Users\havremunken\scoop\apps\nodejs-lts\current\bin: Access to the path 'C:\Users\havremunken\scoop\apps\nodejs-lts\current\bin' is denied.

@havremunken
Copy link
Author

@Ra2-IFV Sorry, I should have included that information; I have tried both using sudo (gsudo) and running the Terminal app as an admin. I get the same issue:

sudo scoop update nodejs-lts
nodejs-lts: 22.12.0 -> 22.13.1
Updating one outdated app:
Updating 'nodejs-lts' (22.12.0 -> 22.13.1)
Downloading new version
Loading node-v22.13.1-win-x64.7z from cache
Checking hash of node-v22.13.1-win-x64.7z ... ok.
Invoke-HookScript: C:\Users\havremunken\scoop\apps\scoop\current\libexec\scoop-update.ps1:340
Line |
 340 |  … -HookScript -HookType 'pre_uninstall' -Manifest $old_manifest -Arch $ …
     |                                                    ~~~~~~~~~~~~~
     | Cannot validate argument on parameter 'Manifest'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
Uninstalling 'nodejs-lts' (22.12.0)
Invoke-HookScript: C:\Users\havremunken\scoop\apps\scoop\current\lib\install.ps1:710
Line |
 710 |      Invoke-HookScript -HookType $type -Manifest $Manifest -ProcessorA …
     |                                                  ~~~~~~~~~
     | Cannot validate argument on parameter 'Manifest'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
Unlinking ~\scoop\apps\nodejs-lts\current
Remove-Item: C:\Users\havremunken\scoop\apps\scoop\current\lib\install.ps1:842
Line |
 842 |          Remove-Item $currentdir -Recurse -Force -ErrorAction Stop
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot remove item C:\Users\havremunken\scoop\apps\nodejs-lts\current\bin: Access to the path 'C:\Users\havremunken\scoop\apps\nodejs-lts\current\bin' is denied.

For what little it is worth, I can go to that folder in Windows Explorer (running unprivileged), but it is empty at this point.

As for uninstalling, I get similar issues when trying to uninstall via scoop:

sudo scoop uninstall nodejs-lts
Uninstalling 'nodejs-lts' (22.12.0).
Invoke-HookScript: C:\Users\havremunken\scoop\apps\scoop\current\libexec\scoop-uninstall.ps1:62
Line |
  62 |  … voke-HookScript -HookType 'pre_uninstall' -Manifest $manifest -Arch $ …
     |                                                        ~~~~~~~~~
     | Cannot validate argument on parameter 'Manifest'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
Invoke-Installer: C:\Users\havremunken\scoop\apps\scoop\current\libexec\scoop-uninstall.ps1:77
Line |
  77 |  … $dir -Manifest $manifest -ProcessorArchitecture $architecture -Uninst …
     |                                                    ~~~~~~~~~~~~~
     | Cannot validate argument on parameter 'ProcessorArchitecture'. The argument "" does not belong to the set "32bit,64bit,arm64" specified by the ValidateSet attribute. Supply an argument
     | that is in the set and then try the command again.
Unlinking ~\scoop\apps\nodejs-lts\current
Remove-Item: C:\Users\havremunken\scoop\apps\scoop\current\lib\install.ps1:842
Line |
 842 |          Remove-Item $currentdir -Recurse -Force -ErrorAction Stop
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot remove item C:\Users\havremunken\scoop\apps\nodejs-lts\current\bin: Access to the path 'C:\Users\havremunken\scoop\apps\nodejs-lts\current\bin' is denied.

So I guess the next option is the brutal way, and just completely purge C:\users\havremunken\scoop\apps\nodejs-lts\ from the file system?

@havremunken
Copy link
Author

I have renamed the mentioned directory to nodejs-lts-broken, and done another scoop install nodejs-lts - at the moment, I have a working node v22.13.1 install. So that is good.

However, I am fairly sure I did nothing to mess with the file system myself to cause this to happen originally, besides running regular scoop update * to keep up to date. I still have my nodejs-lts-broken folder if it could be useful for forensics, otherwise I guess this will just go down in history as an unresolved and now irrelevant mystery. :)

@Ra2-IFV
Copy link
Contributor

Ra2-IFV commented Feb 1, 2025 via email

@Ra2-IFV
Copy link
Contributor

Ra2-IFV commented Feb 1, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants