簡體   English   中英

無法訪問NPM環境變量

[英]Cannot access NPM environment variables

在我的package.json中,我將名為“ foo”的配置變量設置為“ bar”,並且正在使用NPM腳本調用該變量。

"config": {
    "foo": "bar"
    },
"scripts": {
    "test": "echo $npm_package_config_foo"
    }

運行npm run test應該輸出bar ,但是不輸出。

我懷疑我在訪問環境變量時遇到一般性問題。 例如,我可以從NPM腳本中使用uglifyjs,但不能從命令行中使用。

從命令行運行printenv不會顯示任何人們期望的NPM變量。

設置:OSX 10.11.6,NPM 2.15.11,節點6.2.0。

您嘗試的是錯誤的:節點環境變量只能在節點進程中使用進程全局變量訪問,而不能在系統范圍內訪問。 因此,要實現所需的功能,請進行以下更改。

的package.json

"config": {
    "foo": "bar"
    },
"scripts": {
    "test": "node ./app.js"
    }

app.js

console.log(process.env.npm_package_config_foo);

您可以在這里找到更多信息

我的解決方案:

  1. 設置foo使用npm config set foo bar

  2. 從我的package.json中刪除了配置對象。

  3. 在NPM scripts屬性$npm_package_config_foo $npm_config_foo更改$npm_package_config_foo $npm_config_foo

暫無
暫無

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

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