Azure Pipelinesを使用して、WindowsでPerl 6用の Rakudo バイナリを構築しています。
これは私の_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
_
パイプラインスクリプトは、$(Build.SourcesDirectory)/rakudo-win/bin
フォルダー内に_Perl6
_バイナリファインをビルドします。確かに$(Build.SourcesDirectory)/rakudo-win/bin
の中に_Perl6.exe
_があります。これを使用できるようにするために、bashスクリプトの前にパスを追加してパスを設定します。しかし、コマンド_Perl6 -v
_を実行しようとすると、このステップでビルドが失敗します。
SO here 、 here 、 here )で同様の問題を検索しました。
それでも問題を解決できませんでした。 _Perl6
_バイナリをPATH
で利用可能にする方法を教えてください。
[〜#〜]編集済み[〜#〜]
次に行ったのは、次のように別の_.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で1回、コマンドラインでもう1回変更しようとしました。しかし、それでも次のエラーがスローされます:
_'Perl6' is not recognized as an internal or external command,
operable program or batch file.
_
何か助けは?
なぜこれをしないのですか?
- script: |
PATH=$BUILD_SOURCESDIRECTORY/rakudo-win/bin:$PATH Perl6 -v