【问题标题】:NVM doesn't seem to be pointing to the right user when being ran from a service从服务运行时,NVM 似乎没有指向正确的用户
【发布时间】:2019-08-30 13:08:30
【问题描述】:

我有一个运行 shell 脚本的服务,该服务又使用 NVM 将我当前的 Node 环境设置为 8.16.0。该脚本工作正常,但是当我启动应该执行相同操作的服务时,由于没有节点版本 8.16.0,尽管它已安装在我当前的用户中,但它失败了。关于 NVM 的行为方式可能会影响到这一点,我是否可能遗漏了什么?

我已经尝试将服务中的用户设置为所需用户。

这是服务代码:

[Unit]
Description=script startup service
After=network.target
StartLimitIntervalSec=1

[Service]
Type=simple
Restart=always
RestartSec=1
User=pi
Group=pi
ExecStart=/home/pi/job.sh

[Install]
WantedBy=multi-user.target

这是 job.sh 给我带来麻烦的部分:

#! /bin/sh
. ~/.nvm/nvm.sh

nvm use 8.16.0

我希望它将 nvm 更改为 8.16.0 版本,但我收到一条消息说该版本未安装。

【问题讨论】:

    标签: bash shell service raspbian nvm


    【解决方案1】:

    通过更改解决了问题

    #! /bin/sh
    

    #! /bin/bash
    

    正如这篇文章所建议的那样:https://stackoverflow.com/a/32502108/7708264

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      • 2022-06-10
      • 1970-01-01
      • 2015-09-22
      相关资源
      最近更新 更多