之前在 Mac 上裝過 shellcheck,相當簡單,用 Homebrew 一行指令就搞定了,

不過今天想在 CentOS 7 上安裝,卻遇到了一些小問題,記錄一下~

 

1. 安裝 Cabal

因為 shellcheck 是用 Haskell 語言寫的,

因此我們得先安裝 Haskell 的套件管理程式 Cabal:

sudo yum install cabal-install

 

2. 安裝 shellcheck

先將 Cabal 更新後,再來安裝 shellcheck:

cabal update
cabal install shellcheck

 

如果一切順利的話,shellcheck 就安裝好了~

但在我的 CentOS 7 上並沒有這麼順利,說我的 Cabal 版本應該要用 1.8 以上才行:

Resolving dependencies...
Failed to install ShellCheck-0.4.5
cabal: Error: some packages failed to install:
ShellCheck-0.4.5 failed during the configure step. The exception was:
user error (The package requires Cabal library version -any && >=1.8 but no
suitable version is installed.)

 

看一下現在 Cabal 的版本,明明是 1.16,感覺上要比 1.8 新才對:

testuser@localhost ~ $ cabal --version
cabal-install version 1.16.1.0
using version 1.16.0 of the Cabal library 

 

百思不得其解...

上網搜尋一下,有人說用 Cabal 再裝一次 Cabal 看看,

果真就裝了一個更新版本的 Cabal 1.24:

testuser@localhost ~ $ cabal install Cabal
Resolving dependencies...
Downloading Cabal-1.24.1.0...
......
Registering Cabal-1.24.1.0...
Installed Cabal-1.24.1.0

 

怪的是再看一次 Cabal 版本,還是寫 1.16:

testuser@localhost ~ $ cabal --version
cabal-install version 1.16.1.0
using version 1.16.0 of the Cabal library 

 

但這次安裝 shellcheck 就沒有問題了:

testuser@localhost ~ $ cabal install shellcheck
Resolving dependencies...
......
Registering ShellCheck-0.4.5...
Installed ShellCheck-0.4.5

 

安裝好的 shellcheck 也可以正常運作:

testuser@localhost ~ $ shellcheck 
No files specified.

Usage: shellcheck [OPTIONS...] FILES...
  -e CODE1,CODE2..  --exclude=CODE1,CODE2..  exclude types of warnings
  -f FORMAT         --format=FORMAT          output format
  -C[WHEN]          --color[=WHEN]           Use color (auto, always, never)
  -s SHELLNAME      --shell=SHELLNAME        Specify dialect (sh,bash,dash,ksh)
  -x                --external-sources       Allow 'source' outside of FILES.
  -V                --version                Print version information

 

參考資料:ShellCheck-0.4.3 fails to install: requires Cabal library version -any && >=1.8 but no suitable version is installed

 

文章標籤
創作者介紹

亂打一通的心情日記

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()