npm “预安装”后重新装载Yarn或通过新配置

qxgroojn  于 2023-03-18  发布在  Yarn
关注(0)|答案(2)|浏览(239)

我正在尝试使用AWS CodeArtifact来使用私有存储库。那里的说明提到了执行aws-cli npm登录命令。这个登录命令从AWS获取一个令牌,并将其放置在用户.npmrc中。
我曾尝试将此登录函数放在项目package.jsonpreinstall脚本中,但问题是.npmrc仅在此步骤中修改,并且在继续执行yarn install任务时不会重新加载。
有什么方法可以将这个令牌加载到yarn中,同时保持登录/安装过程的无缝?

ikfrs5lh

ikfrs5lh1#

我在gcloud上也遇到过类似的问题,我设法通过在package.json上添加一个yarn preinstall钩子来破解它

"preinstall": "yarn install --ignore-scripts; kill -9 $(ps | grep 'yarn.js install' | awk 'NR==1' | awk '{print $1}')"

也没有必要同时终止yarn安装,你的“第二次”安装只会得到一个缓存命中,速度会很快。
您还可以添加/bin/bash -c ' if [[ -n ${ENV_VARIABLE:-} ]]; then blabla; fi'以使命令仅在所需的环境中运行。

pu82cl6c

pu82cl6c2#

与另一个答案类似,但更简单一些,我将其添加为预安装脚本
登录代码在preinstall.js文件中。也可以使用AWS CLI命令。

"preinstall": "node preinstall.js && yarn install --ignore-scripts && yarn postinstall && exit 0"

相关问题