![](/img/trans.png)
[英]Google App Engine: Setting environment variables for React Production Build
[英]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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.