gpt4 book ai didi

ddev - 如何在 DDEV Web 容器中添加和使用 nvm?

转载 作者:行者123 更新时间:2023-12-01 13:22:25 25 4
gpt4 key购买 nike

目前,DDEV Web 容器未附带 nvm(节点版本管理器)。如何通过 DDEV config.yaml 文件添加和使用它?

最佳答案

我建议使用 .ddev/web-build/Dockerfile 方法,因为每次执行 ddev start 时都不会花费您。 ;它只在每个项目中构建一次(以及升级 ddev 时)。
将此文件放在 .ddev/web-build/Dockerfile 中:

ARG BASE_IMAGE
FROM $BASE_IMAGE

ENV NVM_DIR=/usr/local/nvm
ENV NODE_DEFAULT_VERSION=v6.10.1

RUN curl -sL https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh -o install_nvm.sh
RUN mkdir -p $NVM_DIR && bash install_nvm.sh
RUN echo "source $NVM_DIR/nvm.sh" >>/etc/profile
RUN bash -ic "nvm install $NODE_DEFAULT_VERSION && nvm use $NODE_DEFAULT_VERSION"
RUN chmod -R ugo+w $NVM_DIR
将 NODE_DEFAULT_VERSION 更改为您希望的样子。您可以添加到此以使用 nvm 的所有功能;您可以安装多个版本,并使用 nvm use <otherversion>如果您愿意,可以在启动后 Hook 中。
有关如何使用和安装 nvm 的更多信息,请参阅 README .
有关如何使用 ddev 的附加 Dockerfile 功能的更多信息,请参阅 ddev docs on add-on Dockerfile
关于 Dockerfile 语法的详细信息,请参见 Docker's Dockerfile reference
nvm 实际上是 shell 别名,因此默认情况下它在容器中不可用于非交互式命令。所以它在 ddev ssh 里面工作正常但不能在启动后 Hook 中开箱即用。要在启动后 Hook 中使用它,您可以执行以下操作:
hooks:
post-start:
- exec: 'bash -l -c "nvm install v12.15.0 && nvm use v12.15.0"'

关于ddev - 如何在 DDEV Web 容器中添加和使用 nvm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58415512/

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