0
我目前正在研究Node.js項目,並希望自動設置環境變量。我寫了一個腳本(set_env.ps1
),看起來是這樣的:從.ps1腳本設置環境變量
Write-Host "Setting environment variables...";
$env:CLIENT_KEY="xxxxxxxxxxxxxxxx";
$env:CLIENT_SECRET="xxxxxxxxxxxxx";
[etc]
而且我把這個一些NPM腳本:
"scripts": {
"install:windows": "powershell ./set_env.ps1",
"start": "npm run install:windows && node index",
"monitor": "npm run install:windows && nodemon index"
},
它似乎沒有工作,雖然。我可以手動輸入這些相同的命令,每次一個,在命令行中輸入,並設置環境變量。但是,通過運行腳本,「設置環境變量...」會打印到PowerShell提示符,但不會設置變量。
互聯網上的所有東西似乎都想從提示符一次執行一個env變量。這對於一長串環境變量來說是非常單調乏味的,Webstorm中嵌入的Powershell提示符有一個不接受粘貼字符串的習慣。
一般而言,每個派生進程都會繼承父環境的副本,該環境在終止產生的進程時會丟失。你必須尋找一種不同的方法來切換變量。 – LotPings
您需要在觸發npm命令的過程中設置變量。 –
@Bill_Stewart hehh,那麼從命令提示符運行npm時,你不能這麼做,因爲我在做...但是,你的評論讓我思考,並且我意識到:我*可以*運行'npm' Powershell腳本中的命令。即將回答。 –