.npmrc中环境变量的默认值

eblbsuwk  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(115)

有人知道如何在.npmrc文件中设置默认环境变量吗?我试着这样做:

registry=${myEnvVariable:-https://myregistry.com}

字符串
还有这个

defaultRegistry=https://myregistry.com
registry=${myEnvVariable:-defaultRegistry}


这些解决方案不起作用,因为我得到了“在配置中替换env失败”

rekjcdws

rekjcdws1#

看起来它不受支持。一种方法是围绕npm编写一个 Package 器脚本:
~/bin/npm

#!/bin/sh
defaultRegistry=https://myregistry.com
myRegistry=${myEnvVariable:-$defaultRegistry}
export myRegistry
exec /usr/bin/npm "$@"

字符串
~/.npmrc

registry=${myRegistry}


当然,在你的~/.bash_profile中把$HOME/bin前置到PATH。Ubuntu会在为新用户添加的.profile中自动执行此操作。

[[ :$PATH: = *:$HOME/bin:* ]] || echo 'PATH=~/bin:$PATH' >> ~/.bash_profile


测试打开一个新的shell并输入type -p npm,以确保它在~/bin/npm中找到一个shell。

.npmrc环境变量支持

npmrc手册页没有提到对特定于shell的条件逻辑的支持,所以不幸的是,它似乎不受支持(从v10开始就不受支持):
所有npm配置文件都是ini格式的key = value参数列表。环境变量可以使用${VARIABLE_NAME}替换。例如:

prefix = ${HOME}/.npm-packages

相关问题