簡體   English   中英

為Bamboo構建設置環境變量

[英]Setting environment variables for a Bamboo build

我有一個Bamboo版本,我需要做的一件事就是執行npm install命令。 一切都很好,除非它遇到一個依賴項,該依賴項會生成另一個節點實例以在子子進程中運行npm install 發生這種情況時,出現以下錯誤:

12-Oct-2015 12:54:12    
12-Oct-2015 12:54:12    
12-Oct-2015 12:54:12    D:\bamboo-home\xml-data\build-dir\EC-ECB-BUIL\server\node_modules\oracledb>if not defined npm_config_node_gyp (node "c:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild ) 
12-Oct-2015 12:54:12    'node' is not recognized as an internal or external command,
12-Oct-2015 12:54:12    operable program or batch file.
12-Oct-2015 12:54:22    npm ERR! Windows_NT 5.2.3790
12-Oct-2015 12:54:22    npm ERR! argv "c:\\Program Files\\nodejs\\node.exe" "c:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
12-Oct-2015 12:54:22    npm ERR! node v4.1.2
12-Oct-2015 12:54:22    npm ERR! npm  v2.14.4
12-Oct-2015 12:54:22    npm ERR! code ELIFECYCLE
12-Oct-2015 12:54:22    
12-Oct-2015 12:54:22    npm ERR! oracledb@0.6.0 install: `node-gyp rebuild`
12-Oct-2015 12:54:22    npm ERR! Exit status 1
12-Oct-2015 12:54:22    npm ERR! 
12-Oct-2015 12:54:22    npm ERR! Failed at the oracledb@0.6.0 install script 'node-gyp rebuild'.

這意味着該節點不是可識別的命令,但是我可以確認它絕對在系統路徑中,如果我通過命令提示符手動執行命令,則依賴項會很好地安裝(更不用說,所有其他依賴項到此為止安裝良好)。

有誰知道如何解決這個問題? 我嘗試在Windows中設置系統路徑,並嘗試通過添加以下環境變量在Bamboo任務本身中設置自己的環境變量: PATH="C:\\Program Files\\nodejs" -我不確定其他嘗試。

我有同樣的問題,並且也使用oracledb模塊。 問題在於,當npm開始安裝軟件包時,它意識到必須重新構建oracledb軟件包。 這就是為什么它想要執行“節點重建”命令,但不知道“節點”是什么的原因-如您所提到的,它的發生是因為它沒有看到Windows代理的環境變量

解決方案是在執行Bamboo任務之前, 執行npm之前一一設置環境變量

最好的部分是,您不能使用Bamboo的npm任務(盡管它在高級選項下有一個用於環境變量的參數-它對我不起作用)。 您必須編寫一個普通的腳本任務 ,看起來像這樣:

REM #Set environment variables
set PATH=........;C:\path\to\nodejs\;........
set OCI_INC_DIR=C:\path\to\oracle\instantclient\sdk\include
set OCI_LIB_DIR=C:\path\to\oracle\instantclient\sdk\lib\msvc
REM #Install node modules
npm i

因此,從Windows設置復制的整個PATH變量必須包含nodejs的路徑! 還要設置oracle Instant Client,然后安裝節點軟件包。

確實很丑陋並且搞砸了解決方案,但是它可以工作。 我只有Windows版本才有這個問題。 在linux代理上構建時,一切都會正常進行。

希望這可以幫助:)

要解決此問題,您需要在應用程序路徑中指定高級設置 在此處輸入圖片說明

在Windows上,對我來說,關鍵是執行Path =而不是PATH =。 一旦我糾正了這種情況,將以下內容放在“環境變量”下對我有用:

Path=c:\nodejs\bin

無法將“節點”識別為內部或外部命令可操作程序或批處理文件。

我也遇到了這個問題,這就是我的解決方法,我在如下所示的每個任務中都設置了Node.js可執行文件,

添加新的執行

這使得Bamboo使用提供的可執行文件,而不是從Windows環境路徑獲取可執行文件路徑。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM