代码之家  ›  专栏  ›  技术社区  ›  kenorb

通过Scoop在Appveyor CI上安装某些工具时生成错误

  •  1
  • kenorb  · 技术社区  · 8 年前

    我创建了以下内容 appveyor.yml file :

    init:
    - ps: iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    install:
    - ps: scoop install ruby
    

    它的目标是安装Ruby,但是 build fails 用:

    scoop install ruby
    Installing 'ruby' (2.5.1-2) [64bit]
    Downloading https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.1-2/rubyinstaller-2.5.1-2-x64.7z (8.8 MB)...
    Checking hash of rubyinstaller-2.5.1-2-x64.7z... ok.
    Extracting... done.
    Linking ~\scoop\apps\ruby\current => ~\scoop\apps\ruby\2.5.1-2
    Persisting gems
    Running post-install script...
    Successfully installed rake-12.3.1
    Parsing documentation for rake-12.3.1
    Installing ri documentation for rake-12.3.1
    Done installing documentation for rake after 0 seconds
    1 gem installed
    'ruby' (2.5.1-2) was installed successfully!
    Notes
    -----
    Install MSYS2 via 'scoop install msys2' and then run 'ridk install' to install the toolchain!
    'ruby' suggests installing 'msys2'.
    The build phase is set to "MSBuild" mode (default), but no Visual Studio project or solution files were found in the root directory. If you are not building Visual Studio project switch build mode to "Script" and provide your custom build command.
    

    同样的问题也发生在 shellcheck ,例如

    init:
    - ps: iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    install:
    - ps: scoop install shellcheck
    test_script:
    - shellcheck -V
    

    请注意,我可以轻松安装其他工具,如:

    scoop install curl grep sed less touch python perl
    

    没有任何问题(请参阅 build 但是它在Ruby和ShellCheck上失败了。

    我错过了什么?

    1 回复  |  直到 8 年前
        1
  •  1
  •   kenorb    8 年前

    您描述的错误( The build phase is set to "MSBuild" mode (default)... )与铲子或发生在 install 阶段。默认情况下,Appveyor尝试检测Visual Studio解决方案或项目。要禁用可以设置的行为 build: off 或重命名 test_script: build_script: .


    这是工作 appveyor.yml :

    init:
    - ps: iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    install:
    - ps: scoop install ruby shellcheck
    build: off
    test_script:
    - shellcheck -V
    
    推荐文章