首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >让npm在守护进程模式下使用空间daemon

让npm在守护进程模式下使用空间daemon
EN

Stack Overflow用户
提问于 2020-02-22 05:59:35
回答 2查看 227关注 0票数 0

我正试图让lsp (这取决于国家预防机制)与我的弱点。

经过一些修改后,我通过手动运行. /usr/share/nvm/nvm.sh,然后在一个交互的shell中运行emacs --daemon,成功地使lsp工作起来。

但是,我不希望在交互式shell中手动运行emacs --daemon

下面是我已经尝试过的,如果有人能指出我所做的不对的原因,我会很感激的。

尝试#1更新systemd单元文件:

ExecStartPre=/bin/bash /usr/share/nvm/nvm.sh添加到emacs.service

结果 (executable-find "node")返回nil

尝试#2.spacemacs中添加硬代码路径

(setq exec-path (append exec-path '("~/.local/share/nvm/versions/node/v10.18.0/bin")))

结果 (executable-find "node")返回"~/.local/share/nvm/versions/node/v10.18.0/bin/node",但仍要连接到lsp服务器。

尝试#3使用bspwm来自动生成emacs,而不是systemd:

$(. "/usr/share/nvm/nvm.sh" && emacs --daemon)附加到bspwmrc

结果 (executable-find "node")返回"nil"

EN

回答 2

Stack Overflow用户

发布于 2020-02-23 18:16:05

就目前而言,我将坚持第二次调度。

我意识到如果我使用~而不是/home/user,它是行不通的

因此,以下内容应能奏效。

代码语言:javascript
运行
复制
  (setq exec-path
        (append exec-path
                (list (concat user-home-directory ".local/share/nvm/versions/node/v10.18.0/bin"))))

就目前而言,这是我设法找到的最佳解决方案。

票数 1
EN

Stack Overflow用户

发布于 2020-02-22 06:17:43

尝试#4更新zshrc

代码语言:javascript
运行
复制
if [[ -z $(pgrep emacs) ]]; then
    . "/usr/share/nvm/nvm.sh" &> /dev/null 
    emacs --daemon &> /dev/null
fi

result 终于起作用了,但它将导致我的zsh第一次启动时出现一些延迟。

除了这个,还有更好的解决办法吗?

理想情况下,最好选择守护进程开始使用systemd,否则,在重新启动期间,它不会优雅地停止:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60349483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档