Сделайте, чтобы DNVM использовал настройку global (машина)

В соответствии с документацией "Диспетчер версий" (dnvm, ссылка: https://github.com/aspnet/Home/wiki/Version-Manager), я должен предоставить -g или же -global параметр при использовании команды use,

Документация:

 dnvm use <semver>|<alias>|none [-x86][-x64] [-svr50][-svrc50] [-p|-persistent] [-g|-global]

    | add DNX bin to path of current command line
    none remove DNX bin from path of current command line
    -p|-persistent add DNX bin to PATH environment variables persistently
    -g|-global combined with -p to change machine PATH instead of user PATH

Тем не менее, когда я выполняю это, я получаю следующую ошибку:

C:\Repos\X\AbsenceRequests\AbsenceRequests\AbsenceRequests.Data.EF>dnvm use 1.0.
0-rc1-update1 -p -g
Invoke-Command : A parameter cannot be found that matches parameter name 'g'.At
 C:\Users\OSCHELPEY\.dnx\bin\dnvm.ps1:1905 char:9
+         Invoke-Command ([ScriptBlock]::Create("dnvm-$cmd $cmdargs"))
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-Command], Parameter
   BindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Comm
   ands.InvokeCommandCommand

Что я делаю не так, или я неправильно истолковываю документацию?

2 ответа

Решение

Варианты dnvm будет меняться в каждой бета-версии. Вы должны быть осторожны при использовании вики или документации, потому что информация не всегда соответствует текущей версии dnvm,

Если вы начнете dnvm без параметров или с version параметр (dnvm version) вы увидите текущую версию.NET Version Manager. Это v1.0.0-rc2-15546 на меня. Если у вас есть более старая версия, вы можете обновить ее, используя dnvm update-self, Он использует dnvm.ps1 из https://github.com/aspnet/Home/ для самостоятельного обновления.

Ты можешь использовать dnvm help use чтобы увидеть варианты use Команда установленного в данный момент.NET Version Manager. Это

на моем текущем компьютере. таким образом dnvm use не должен поддерживать -g вариант.

В общем dnvm use делать очень простые вещи Вы можете изучить папки %USERPROFILE%\.dnx\runtimes на твоем компьютере. Вы увидите каталоги как dnx-clr-win-x64.1.0.0-rc1-update1, dnx-coreclr-win-x64.1.0.0-rc1-update1 и так далее. У каждого из каталога есть свои dnx.exe, лайк %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin\dnx.exe например. dnvm use просто меняет PATH текущей командной строки PATH пользователя:

C:\Users\Oleg>dnvm use 1.0.0-rc1-update1 -a x64 -r coreclr -p
Adding C:\Users\Oleg\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin to process PATH
Adding C:\Users\Oleg\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin to user PATH

C:\Users\Oleg>dnvm use 1.0.0-rc1-update1 -a x64 -r coreclr
Adding C:\Users\Oleg\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin to process PATH

Переключатель -g существуют, например, для dnvm install, Вы можете проверить, что у вас нет какой-либо версии dnx или удалить ее, а затем вы можете установить версию, используя -g переключатель.

Например

C:\Windows\System32>dnvm uninstall 1.0.0-rc1-final
Removed 'C:\Users\Oleg\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-final'

C:\Windows\System32>dnvm install 1.0.0-rc1-final -g
Downloading dnx-clr-win-x86.1.0.0-rc1-final from https://www.nuget.org/api/v2
Installing to C:\ProgramData\Microsoft DNX\runtimes\dnx-clr-win-x86.1.0.0-rc1-final
Adding C:\ProgramData\Microsoft DNX\runtimes\dnx-clr-win-x86.1.0.0-rc1-final\bin to process PATH

Вы увидите, что DNX будет установлен в %ProgramData%\Microsoft DNX\runtimes вместо %USERPROFILE%\.dnx\runtimes,

таким образом dnvm действительно поддерживаю -g переключаться, но не для dnvm use,

Вы не передали путь PATH DNX, который указаны в документах, который вы должны сделать, чтобы добавить путь компьютера. Пожалуйста, попробуйте это и скажите нам, если это не работает.

Другие вопросы по тегам