npm не может найти версию SDK из global.json - PullRequest
0 голосов
/ 20 мая 2018

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

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.

enter image description here

Теперь я также получаю эту ошибку при выполнении команды 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>

Что мне не хватает, чтобы заставить это работать?

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

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Если вы столкнулись с этой проблемой в 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, из моего проекта.

0 голосов
/ 20 мая 2018

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

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

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

...