Я использую конвейеры Azure для создания двоичного файла Rakudo для Perl 6 в Windows.
Это мой azure-pipelines.yml
файл:
jobs:
- job: Windows
pool:
vmImage: 'vs2017-win2016'
steps:
- bash: |
mkdir -p $(Build.SourcesDirectory)/rakudo-win
curl -L https://github.com/rakudo/rakudo/releases/download/2019.07.1/rakudo-2019.07.1.tar.gz | tar xz
mv rakudo-2019.07.1 rakudo
cd rakudo
C:/Strawberry/perl/bin/perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=$(Build.SourcesDirectory)/rakudo-win
make
make install
- bash: |
echo "##vso[task.prependpath]$(Build.SourcesDirectory)/rakudo-win/bin"
- bash: |
perl6 -v
Конвейерный скрипт создает perl6
двоичный штраф внутри папки $(Build.SourcesDirectory)/rakudo-win/bin
. Внутри $(Build.SourcesDirectory)/rakudo-win/bin
действительно есть perl6.exe
. Чтобы сделать его доступным, я установил путь, добавив его в сценарии bash. Но когда я пытаюсь выполнить команду perl6 -v
, сборка завершается неудачей на этом этапе.
Я искал похожие проблемы в SO здесь , здесь , здесь .
Я так и не смог решить свою проблему. Любая помощь, как сделать бинарный файл perl6
доступным в PATH
?
EDITED
Следующее, что я сделал, было создание другого скрипта .yml
следующим образом:
jobs:
- job: Windows
pool:
vmImage: 'vs2017-win2016'
steps:
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
- pwsh: |
mkdir -p C:\rakudo-win
Invoke-WebRequest -Uri "https://github.com/rakudo/rakudo/releases/download/2019.07.1/rakudo-2019.07.1.tar.gz" -OutFile "rakudo.tar.gz"
tar -xvf .\rakudo.tar.gz
cd rakudo-2019.07.1
C:\Strawberry\perl\bin\perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=C:\rakudo-win
make
make install
- pwsh: |
$oldpath = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).path
$newpath = "C:\rakudo-win\bin;$oldpath"
Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value $newpath
- script: |
SET PATH=C:\rakudo-win\bin;%PATH%
- script: |
perl6 -v
и попытался изменить PATH два раза в powershell и еще один в cmdline. Но все равно выдает следующую ошибку:
'perl6' is not recognized as an internal or external command,
operable program or batch file.
Любая помощь?