我想将@test:registry =值更新为它从package.json调用的myNode.js进程 我试图更新所有的env,但它没有用。 是否可以从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配置列表在childProc中检查它时,我看到了不同的值
当我尝试
时childproc.execSync('npm config set @test:registry:value && npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit' })
然后它奏效了。是否有可能使用execSync中的env
答案 0 :(得分:0)
加入myNode.js
您可以在process.env
process.env.NODE_ENV = 'production';