2017年12月18日 星期一

解決jenkins的windows批次命令無法正常呼叫npm的global module的問題

解決jenkins的windows批次命令無法正常呼叫npm的global module的問題

前言

  如果你企圖利用jenkins裡windows批次命令去呼叫npm的global module的時候,會發生找不到命令的問題,如下圖
命令找不到
圖中,rollup為一個global module的命令,但直接在windows的console下命令卻可以找的到!找了一下資料發現是環境變數的問題,但直接修改系統變數裡的"Path"後發現狀況依舊,之後找到下面的方法來解決。

  到jenkins的首頁,按下"設定系統",如下圖
設定系統
接著到"全域屬性"的標籤,設定環境變數,如下圖
設定環境變數
"名稱"的部分填上要新增修改的環境變數,這裡的數值是"Path",這個是給win10,我印象中,舊的windows環境變數是"PATH",請一句你的作業系統環境去修改,"值"的部分瑱上以下內容
%Path%;C:\Users\hosee\AppData\Roaming\npm;

其中"%Path%"是指現在windows的環境變數,接下來是"C:\Users\hosee\AppData\Roaming\npm"的部分,這是我的npm global module的安裝位址,請依據你所安裝的位址新增,若不清楚安裝的位址,可以輸入以下命令後得到
npm list -g

位址的內容如下圖
npm global module的安裝位址

參考資料:
How to set the PATH environment variable in Jenkins configuration on Windows?
Where does npm install packages?

沒有留言:

張貼留言