npm не может найти версию SDK из global.json

Я нахожусь в гуще попыток получить максимальную скорость на asp.net core / npm / response, используя это в качестве базового шаблона проекта:

https://github.com/jonmcquade/aspnetcore-react-redux#local-no-docker

Первоначально у меня возникли проблемы, когда я попробовал эту команду:

сборка dotnet -c Выпуск -o ./app

Ошибка, которую я видел:

Совместимая версия SDK для версии global.json: [2.1.0] из [global.json] не найдена. Вы имели в виду запускать команды dotnet SDK? Пожалуйста, установите dotnet SDK со страницы:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

У меня были установлены определенные версии, указанные в документации, и я установил последние версии для платформ x64 и x86.

введите описание изображения здесь

Теперь я также получаю эту ошибку, выполняя команду npm install или dotnet --version, но у меня установлены SDK.

Такое ощущение, что конфигурация машины как-то сломалась. Кажется, я немного заполучил версию, пытаясь заставить работать команду dotnet build, и теперь даже NPM не работает.

Global.json - это:

{
    "sdk": { "version": "2.1.0" }
}

И файл .csproj содержит:

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RuntimeFrameworkVersion>2.1.0-preview1-26216-03</RuntimeFrameworkVersion>
    <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
    <IsPackable>false</IsPackable>
    <AssemblyName>FlightSearch</AssemblyName>
    <RootNamespace>FlightSearch</RootNamespace>
    <ApplicationIcon>ClientApp\favicon.ico</ApplicationIcon>
    <Authors>Jon McQuade</Authors>
    <Company>ACME Freelancing, Inc.</Company>
    <StartupObject></StartupObject>
    <Product>Flight Search</Product>
    <Description>ASP .NET Core 2.1 MVC SPA with React and Redux</Description>
    <RepositoryUrl>http://github.com/jonmcquade/aspnetcore-react-redux</RepositoryUrl>
    <PreserveCompilationContext>true</PreserveCompilationContext>
    <TypeScriptToolsVersion>2.8</TypeScriptToolsVersion>
    <OutputType>Exe</OutputType>
    <Version>2.1</Version>
  </PropertyGroup>

Что мне не хватает, чтобы это работало?

Есть ли проблемы с конфигурацией машины, которые я могу проверить? Может быть, переменные среды? Я попытался выполнить ремонт с помощью установщиков, но это не решило проблему.


person Jammer    schedule 20.05.2018    source источник
comment
«Я теперь тоже получаю эту ошибку при установке npm» - Что ?! Это не имеет ничего общего с npm.   -  person poke    schedule 20.05.2018
comment
Хорошо, просто подробно расскажу обо всех базах.   -  person Jammer    schedule 20.05.2018


Ответы (3)


global.json указывает версию SDK .NET Core, которая используется для создания вашего приложения. Это не имеет ничего общего с версией .NET Core Runtime, с которой вы хотите запускать свое приложение.

Ваше приложение - netcoreapp2.1, поэтому вы используете среду выполнения .NET Core 2.1. Самая ранняя версия SDK для этого - 2.1.300.

Поскольку это последняя версия .NET Core, вам вообще не нужно использовать global.json: просто удалите файл из своего проекта, и инструменты должны использовать последнюю версию, которая 2.1.300-rc1 на вашем компьютере.

person poke    schedule 20.05.2018
comment
Это сэкономило мне много времени. global.json не нужен, как сказал @poke. - person Rhokai; 20.02.2021

Если вы столкнулись с этой проблемой в OSX, вы можете исправить ее следующим образом:

which dotnet

ls + вывод предыдущей команды

Теперь вы должны увидеть что-то вроде: /usr/local/share/dotnet/dotnet

В каталоге, в котором находится ваш dotnet двоичный файл, также должен быть каталог с именем sdk, поэтому для приведенного выше примера вы можете запустить ls /usr/local/share/dotnet/sdk, который должен вывести каталог с вашим текущим номером версии. В моем случае это 2.1.403 (может быть лучший способ получить номер версии, но мне не удалось запустить dotnet --version без указания правильного SDK)

Если я сейчас открою файл global.json в корневом каталоге моего приложения и изменю версию sdk на "2.1.403-osx-gs-x64", я смогу запустить команду dotnet, такую ​​как dotnet run, из моего проекта.

person NM Pennypacker    schedule 09.11.2018

Просто убедитесь, что на вашем компьютере установлена ​​необходимая версия SDK. По вашей ошибке это .NET core 2.1.0. Вам больше не нужен global.json файл.

person Raffy    schedule 22.09.2019