abpframework / abp

Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.
https://abp.io
GNU Lesser General Public License v3.0
12.89k stars 3.44k forks source link

CLI keeps restarting and doesn't create a project #20669

Closed tombohub closed 1 month ago

tombohub commented 1 month ago

Is there an existing issue for this?

Description

Trying to run command from https://abp.io/get-started and the running generated command it is looping infinitely:

image

Reproduction Steps

dotnet tool install -g Volo.Abp.Studio.Cli
abp new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf

Expected behavior

To create a project

Actual behavior

It is looping, restarting and doesn't create anything

Regression?

Never tried before

Known Workarounds

No response

Version

0.7.8

User Interface

MVC

Database Provider

EF Core (Default)

Tiered or separate authentication server

None (Default)

Operation System

Windows (Default)

Other information

Any command gives the same loop. Even abp --help

enisn commented 1 month ago

Probably it still works,

It shows an animation and updates the exact same line to show an animation. Your terminal app may not support updates and adds the updated content as a new line.

@ahmetfarukulu can you confirm this?

ahmetfarukulu commented 1 month ago

I think problem related with your nuget cache folder, if the folder requires admin privileges CLI also should start as administrator.

You can run dotnet nuget locals all --list this command to see the nuget global-packages cache path.

In that folder there should be volo.abp.studio.extensions.standardsolutiontemplates directory.

tombohub commented 1 month ago

@ahmetfarukulu hi, command dotnet nuget locals all --list gives output:

http-cache: C:\Users\Me\AppData\Local\NuGet\v3-cache
global-packages: D:\NugetPackages
temp: C:\Users\Me\AppData\Local\Temp\NuGetScratch
plugins-cache: C:\Users\Me\AppData\Local\NuGet\plugins-cache

There is volo.abp.studio.extensions.standardsolutiontemplates inside D:\Nuget\Packages folder:

image

I have tried to run terminal as administrator and the looping is still on:

PowerShell 7.4.5
PS D:\PROJEKTI> cd .\prototypes\
PS D:\PROJEKTI\prototypes> abp new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf
[23:39:04 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates
🚲 The CLI is restarting to apply the changes with arguments: new abptest -t app-nolayers --ui no-ui
-dbms SQLite --theme leptonx-lite -csf
PS D:\PROJEKTI\prototypes> [23:39:05 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates
🚲 The CLI is restarting to apply the changes with arguments: new abptest -t app-nolayers --ui no-ui
-dbms SQLite --theme leptonx-lite -csf
[23:39:06 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates
🚲 The CLI is restarting to apply the changes with arguments: new abptest -t app-nolayers --ui no-ui
-dbms SQLite --theme leptonx-lite -csf
ahmetfarukulu commented 1 month ago

I am also using the similar path. It might be related to the NuGet cache. You can execute this command dotnet nuget locals all --clear and try again. If the issue still occurs, can you share the logs from the %UserProfile%\.abp\cli\logs path?

tombohub commented 1 month ago

@ahmetfarukulu command dotnet nuget locals all --clear gives output

PS D:\PROJEKTI> dotnet nuget locals all --clear
Clearing NuGet HTTP cache: C:\Users\Me\AppData\Local\NuGet\v3-cache
Clearing NuGet global packages folder: D:\NugetPackages
Local resources partially cleared.
error: Failed to delete 'D:\NugetPackages'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.ApplicationInsights.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.App.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.Documents.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.Jupyter.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.Telemetry.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.PlatformAbstractions.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Serilog.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Serilog.Sinks.RollingFileAlternate.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\System.CommandLine.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\System.CommandLine.NamingConventionBinder.dll'.
Clearing NuGet Temp cache: C:\Users\Me\AppData\Local\Temp\NuGetScratch
Clearing NuGet plugins cache: C:\Users\Me\AppData\Local\NuGet\plugins-cache
error: Clearing local resources failed: Unable to delete one or more files.

.

command abp new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf is still looping.

.

path %UserProfile%\.abp\cli\logs doesn't exit. What exists is path %UserProfile%\.abp\studio\cli\logs and this is the last few logs:

2024-09-02 02:50:34.107 -04:00 [INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
2024-09-02 02:50:35.808 -04:00 [INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
2024-09-02 02:50:37.484 -04:00 [INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
2024-09-02 02:50:39.207 -04:00 [INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
ahmetfarukulu commented 1 month ago

@ahmetfarukulu command dotnet nuget locals all --clear gives output

PS D:\PROJEKTI> dotnet nuget locals all --clear
Clearing NuGet HTTP cache: C:\Users\Me\AppData\Local\NuGet\v3-cache
Clearing NuGet global packages folder: D:\NugetPackages
Local resources partially cleared.
error: Failed to delete 'D:\NugetPackages'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.ApplicationInsights.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.App.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.Documents.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.Jupyter.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.Interactive.Telemetry.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Microsoft.DotNet.PlatformAbstractions.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Serilog.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\Serilog.Sinks.RollingFileAlternate.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\System.CommandLine.dll'.
error: Failed to delete 'D:\NugetPackages\microsoft.dotnet-interactive\1.0.522904\tools\net8.0\any\System.CommandLine.NamingConventionBinder.dll'.
Clearing NuGet Temp cache: C:\Users\Me\AppData\Local\Temp\NuGetScratch
Clearing NuGet plugins cache: C:\Users\Me\AppData\Local\NuGet\plugins-cache
error: Clearing local resources failed: Unable to delete one or more files.

As you can see, there are problems during the global cache clearing process as well. The issue is related to your global cache path. Can you change the global NuGet cache path and try again?

You can set global path;

usoftadmin commented 1 month ago

I also had the same problem, how did you solve it?

tombohub commented 1 month ago

@ahmetfarukulu

  1. I have run the command as administrator

    setx /m NUGET_PACKAGES "D:\packages\nuget"

output:

PS D:\PROJEKTI> setx /m NUGET_PACKAGES "D:\packages\nuget"

SUCCESS: Specified value was saved.

.

  1. I run the command in the same as administrator terminal

abp new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf\c:

output:

PS D:\PROJEKTI\prototypes> abp new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf\c
[13:47:48 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
📌 ABP CLI 0.7.9 (Beta)
🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates
🚲 The CLI is restarting to apply the changes with arguments: new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf\c
PS D:\PROJEKTI\prototypes> \c[13:48:08 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates
🚲 The CLI is restarting to apply the changes with arguments: new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf\c
[13:48:09 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates
🚲 The CLI is restarting to apply the changes with arguments: new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf\c
[13:48:10 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates
🚲 The CLI is restarting to apply the changes with arguments: new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf\c
[13:48:11 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli
🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates

Looks like it's still the same looping.

ahmetfarukulu commented 1 month ago

@tombohub @usoftadmin

I can reproduce the problem when the NuGet global cache directory's volo.abp.studio.extensions.standardsolutiontemplates folder is corrupted (for example, if there is a folder like 0.7.9 but the folder content is empty). So, you can simply remove the volo.abp.studio.extensions.standardsolutiontemplates folder. Afterward, when you execute the abp command, it will download the related version package.

To find the correct NuGet cache directory, first execute the dotnet nuget locals all --list command. Then, remove the volo.abp.studio.extensions.standardsolutiontemplates folder.

sample3

In the next version, this process will be automated, so I am closing the issue. Feel free to reopen it if the problem still exists.

tombohub commented 1 month ago

@ahmetfarukulu after reinstalling the tool and creating the project

dotnet tool install -g Volo.Abp.Studio.Cli
abp new abptest -t app-nolayers --ui no-ui -dbms SQLite --theme leptonx-lite -csf

It is not longer looping. Thanks @ahmetfarukulu

dafeifei0218 commented 4 days ago

I have reassigned the directories NUGET_HTTP_CACHE_PATH、NUGET_PACKAGES、NUGET_PLUGINS_CACHE_PATH、NUGET_SCRATCH in the environment variables. For example: image