gpt4 book ai didi

node.js - 使用 Bash 和 NPM 替换配置中的 env 失败

转载 作者:IT老高 更新时间:2023-10-28 23:14:22 26 4
gpt4 key购买 nike

我正在尝试在我的应用程序中使用私有(private) NPM 模块,并且需要设置适当的 NPM 访问 token ,以便第三方工具(Heroku 和 CI)可以访问并安装该模块。

我在 ~/.bash_profile 中设置了以下行:

export NPM_TOKEN="XXXXX-XXXXX-XXXXX-XXXXX"

然后在 /path/to/app/.npmrc 我有

//registry.npmjs.org/:_authToken=${NPM_TOKEN}

但是,每当我打开终端时,我都会在启动时收到以下错误:

Error: Failed to replace env in config: ${NPM_TOKEN}
at /Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:429:13
at String.replace (native)
at envReplace (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:424:12)
at parseField (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:400:7)
at /Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:338:17
at Array.forEach (native)
at Conf.add (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:337:23)
at ConfigChain.addString (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/node_modules/config-chain/index.js:244:8)
at Conf.<anonymous> (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:325:10)
at /Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:76:16
/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/npm.js:29
throw new Error('npm.load() required')
^

Error: npm.load() required
at Object.npm.config.get (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/npm.js:29:11)
at exit (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/utils/error-handler.js:58:40)
at process.errorHandler (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/utils/error-handler.js:385:3)
at emitOne (events.js:77:13)
at process.emit (events.js:169:7)
at process._fatalException (node.js:221:26)
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `nvm use --delete-prefix v4.2.1 --silent` to unset it.

但是,运行 echo $NPM_TOKEN 会返回正确的 token ,因此该变量肯定存在。

如果我运行 source ~/.bash_profile,错误就会消失,我可以正常安装。

感谢任何帮助,因为我正在为这个问题撞墙!

最佳答案

对我来说,解决方法是将 export NPM_TOKEN="XXXXX-XXXXX-XXXXX-XXXXX" 移到 .bash_profile

中我的 nvm 内容之前

来自

export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
export NPM_TOKEN="XXXXX-XXXXX-XXXXX-XXXXX"

export NPM_TOKEN="XXXXX-XXXXX-XXXXX-XXXXX"
export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh

关于node.js - 使用 Bash 和 NPM 替换配置中的 env 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35483721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com