使用 ddev 安装特定节点版本并保留在容器中



推荐的以下方法是什么:

  • 在 ddev 容器中安装特定版本的节点
  • 所以它仍然存在(在 ddev 停止/启动后(
  • 每个下载和构建容器的用户都会获得正确的节点版本?

它背后的想法是"钉"节点版本以实现兼容性(在我们的例子中,与旧版本的 Foundation for Sites 框架(

编辑 2022-08-10:在 DDEV v1.19+ 中,nvm 已经预装,可以在容器内轻松使用或与ddev nvm一起使用。

原始 anwer:您真正想要的是满足此要求的 nvm,因此这是 https://stackoverflow.com/a/61934500/215713 的副本,它显示了如何使用特定的默认节点版本安装 nvm。

我知道这是一个老问题,也已经标记为">已回答",但我想添加我自己的答案,因为 OP 并不高兴并且无法完成他所问的内容。

如果你想要一个特定的节点版本,那么你可以编辑你的.ddev/config.yaml文件,并添加一个启动后的钩子,就像这个:

hooks:
post-start:
- exec: nvm install v1x.xx.0 && nvm current

我添加了nvm 当前命令,以便您可以验证您正在运行所需的节点版本。

这样,每次运行ddev start时,您都会为该特定项目安装该版本。

我们切换到使用基本的 ddev 命令。事实证明,这非常灵活和强大:

.ddev/commands/web/npm_install ->ddev npm_install

#!/bin/bash
## Description: Se gulp
## Usage: npm_install
## Example: ddev npm_install
GREEN='33[0;32m'
RED='33[0;31m'
NC='33[0mn' # set no color and line end
printf "${GREEN}Launching npm install inside ddev${NC}"
nvm install v17
nvm use v17
cd path/to/dir-with-gulpfile
npm install

.ddev/command/web/build ->ddev build

#!/bin/bash
cd path/to/dir-with-gulpfile
gulp build

最新更新