有人知道如何在.npmrc文件中设置默认环境变量吗?我试着这样做:
registry=${myEnvVariable:-https://myregistry.com}
字符串还有这个
defaultRegistry=https://myregistry.com registry=${myEnvVariable:-defaultRegistry}
型这些解决方案不起作用,因为我得到了“在配置中替换env失败”
rekjcdws1#
看起来它不受支持。一种方法是围绕npm编写一个 Package 器脚本:~/bin/npm:
~/bin/npm
#!/bin/sh defaultRegistry=https://myregistry.com myRegistry=${myEnvVariable:-$defaultRegistry} export myRegistry exec /usr/bin/npm "$@"
字符串~/.npmrc:
~/.npmrc
registry=${myRegistry}
型当然,在你的~/.bash_profile中把$HOME/bin前置到PATH。Ubuntu会在为新用户添加的.profile中自动执行此操作。
$HOME/bin
PATH
.profile
[[ :$PATH: = *:$HOME/bin:* ]] || echo 'PATH=~/bin:$PATH' >> ~/.bash_profile
型测试打开一个新的shell并输入type -p npm,以确保它在~/bin/npm中找到一个shell。
type -p npm
.npmrc
npmrc手册页没有提到对特定于shell的条件逻辑的支持,所以不幸的是,它似乎不受支持(从v10开始就不受支持):所有npm配置文件都是ini格式的key = value参数列表。环境变量可以使用${VARIABLE_NAME}替换。例如:
npmrc
key = value
${VARIABLE_NAME}
prefix = ${HOME}/.npm-packages
型
1条答案
按热度按时间rekjcdws1#
看起来它不受支持。一种方法是围绕npm编写一个 Package 器脚本:
~/bin/npm
:字符串
~/.npmrc
:型
当然,在你的~/.bash_profile中把
$HOME/bin
前置到PATH
。Ubuntu会在为新用户添加的.profile
中自动执行此操作。型
测试打开一个新的shell并输入
type -p npm
,以确保它在~/bin/npm
中找到一个shell。.npmrc
环境变量支持npmrc
手册页没有提到对特定于shell的条件逻辑的支持,所以不幸的是,它似乎不受支持(从v10开始就不受支持):所有npm配置文件都是ini格式的
key = value
参数列表。环境变量可以使用${VARIABLE_NAME}
替换。例如:型