• emacs 为什么找不到运行程序?


    我记得前段时间有个朋友问我为什么在emacs中打不开matlab程序?明明在terminal下是能打开的,却在emacs中不行.

    今天自己最终遇到了相似的问题,我今天安装racket 6.0.安装好后racket程序的运行路径为/usr/local/racket/bin

    然后我将这个路径增加到PATH里了,在terminal环境下能打开


    接下来安装Geiser,它是emacs下连接racket的一个插件,它的安装非常easy,我是把它编译后的文件放到~/.emacs.d/site-lisp/geiser下

    然后在init.el增加下面行,我的配制文件见https://github.com/aborn/emacs.d

    (load "~/.emacs.d/site-lisp/geiser/elisp/geiser-load")

    然后用M-x run-geiser  发现找不到racket程序. 这时我在想应该emacs里并没实用到bash环境里的PATH,

    不然为什么找不到?

    上网找到了这两个链接 link1 和  link2 ,这才发现emacs是运行路径是由变量exec-path决定的.

    然后打开M-x ielm 查看exec-path发现内容例如以下:

    exec-path
    ("/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "/usr/local/games" "/usr/lib/emacs/24.3/i686-linux-gnu")
    

    发现并没有 /usr/local/racket/bin

    这种话,仅仅要我们在配制文件init.el里增加下面行,将路径/usr/local/racket/bin增加到exec-path里就能够了

    (add-to-list 'exec-path "/usr/local/racket/bin")

    然后查看exec-path就有了

    ELISP> exec-path
    ("/usr/local/racket/bin" "/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "/usr/local/games" "/usr/lib/emacs/24.3/i686-linux-gnu")
    

    然后运行M-x run-geiser就OK了

    我的操作系统为Ubuntu 14.04 LTS

  • 相关阅读:
    简易httpserver 和客户端调用
    exe打包简易教程
    图像二值化和显示3D 的算法实现
    gitlab 生成标签
    Nginx 使用小结
    FFMPEG 切片过于占用cpu的问题
    神奇 linux 命令行 窗体穿越
    使用 SSH 在 Linux 上远程调试 .NET Core 实例 演示
    CentOS 7 yum 安装 Nginx 以及 TCP流转发
    Centos7 自动挂载分区硬盘 u盘的操作
  • 原文地址:https://www.cnblogs.com/llguanli/p/8390510.html
Copyright © 2020-2023  润新知