[英]How to pass env parameter in nodejs
我想將@test:registry =值更新為從package.json調用的myNode.js進程,我嘗試更新所有環境,但沒有成功。 是否可以從childproc.execSync做到這一點?
package.json
{
"name": "test1",
"scripts": {
"postinstall": "node myNode.js",
"start": "node node_modules/xx"
}
}
myNode.js
childproc.execSync('npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit' , env : {env:process.env}})
我也嘗試過
childproc.execSync('npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit' , env : {env:{ 'npm_config__test_registry':value}})
然后我得到了/ bin / sh:1:npm:not foundchild_process.js:644 throw err; ^
我在創建childproc之前嘗試打印process.env,然后看到了相關設置,但是當我嘗試使用npm config列表在childProc中對其進行檢查時,看到了不同的值
當我嘗試
childproc.execSync('npm config set @test:registry:value && npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit' })
然后它起作用了。 是否可以使用execSync中的env做到這一點
添加myNode.js
您可以在process.env
設置環境變量
process.env.NODE_ENV = 'production';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.