![服务单元文件的动态 NVM 节点路径](https://linux22.com/image/778409/%E6%9C%8D%E5%8A%A1%E5%8D%95%E5%85%83%E6%96%87%E4%BB%B6%E7%9A%84%E5%8A%A8%E6%80%81%20NVM%20%E8%8A%82%E7%82%B9%E8%B7%AF%E5%BE%84.png)
我最近从使用安装在 Ubuntu 服务器上的节点迁移到使用 NVM 来管理我的节点,但问题是我在此服务器上使用的应用程序使用的文件.service
以本地安装的节点的路径执行usr/bin/node
。我已经通过使用 NVM 路径修复了此配置,但问题是服务器节点版本可能会更改(例如,在使用较新的节点版本更新我的应用程序时)。因此,是否有一个好方法来进行符号链接或插入一些动态插入作为路径的一部分?
线:
ExecStart=/home/ghost-mgr/.nvm/versions/node/v14.17.0/bin/node /usr/bin/ghost r$
完整文件:
[Service]
Type=simple
WorkingDirectory=/var/www/ghost
User=999
Environment="NODE_ENV=production"
ExecStart=/home/ghost-mgr/.nvm/versions/node/v14.17.0/bin/node /usr/bin/ghost r$
Restart=always
[Install]
WantedBy=multi-user.target
答案1
您可以使用nvm-exec
,但您需要定义NODE_VERSION
Environment="NODE_VERSION=v18.15.0"
ExecStart=/home/ghost-mgr/.nvm/nvm-exec node /usr/bin/ghost r$