安装没有sudo的emacs吗?


23

我已经使用vim多年了,我真的不喜欢它。

我想尝试一下emacs一段时间,但是我经常使用的任何Linux服务器上都没有安装它。我没有root用户,所以apt-get install这不是一个选择(我也不能向sysadmin寻求许可,他肯定会拒绝)。

我可以在主目录中安装emacs的二进制版本吗?大多数服务器都在运行CentOS。


你有编译工具吗?用正确的标志编译它不会太难了,请参阅此问题以获取指针,然后直接在主文件夹中运行它。
Journeyman Geek

@JourneymanGeek是的,我的用户至少在某些服务器上可以使用gcc。我从来没有测试过。我对于运行make install它会引起系统管理员的恼怒感到有点紧张...我每天都在使用生产服务器,如果出现问题,我不是必须在凌晨2点醒来的人。
Abhi Beckert

纯粹出于担心您的系统管理员睡个好觉而提出的建议;我曾在这个角色上工作了数年,希望我的更多用户也遇到了同样的问题。
亚伦·米勒

相关信息,请参阅在ubuntu上最小化emacs24安装。它向您展示了如何从源代码中配置和构建emacs(占用空间很小)。与诸如emacs-nox或的软件包所提供的相比,它通常产生的占用空间较小emacs24-nox
jww '16

Answers:


31

如果可以编译代码,则只需下载emacs的源发行版。

不用以开头./configure,而是使用configure选项告诉构建系统您希望文件在哪里结束。例如:

./configure --prefix=/home/abhi/emacs --bindir=/home/abhi/bin

将在下安装emacs的所有支持文件/home/abhi/emacs,并在中安装emacs可执行文件/home/abhi/bin。如果后者通常在您的$ PATH中,则事情应该可以正常工作了。

之后,您可以

make && make install

无需担心安装会将文件放置在主目录之外。

(当然,这全部基于您的主目录/home/abhi。请根据需要进行编辑。)


5
只是在这里投入了我的两点:我的台式机上没有root,这正是我构建和安装Emacs的方式,与我的configure命令./configure --prefix=~/installs和我的$PATHinclude 稍有不同~/installs/bin-Emacs不是这是我为自己构建和安装的唯一内容,我发现最好将所有内容都保存在一个目录下,以免使$ HOME过于混乱,但是我想这比任何东西都更有意义。
亚伦·米勒

2
FWIW,对于emacs 24.3:$ ./configure --prefix=~/software --bindir=~/bin yields configure: error: expected an absolute directory name for --prefix: ~/software。因此,也许改用$ HOME。
user100464 2014年

2
这主要为我工作。在我正在编译的服务器上,/libgif/libungif找不到库,因此必须将其添加--with-gif=no./configure命令中。
Steven C. Howell 2015年

@ StevenC.Howell这些标志是做什么的?
迈克尔

2
@michael:--with-gif=no禁止将对GIF图像文件的支持构建到emacs中。(是的,emacs可以显示图像文件。请参阅gnu.org/software/emacs/manual/html_node/emacs/…)。还有许多其他这样的标志。执行./configure --help列表。
rici

6

从源代码安装,或者手动下载.rpms并将其解压缩是可能的,但是很困难,因为它们都依赖于其他库。

这是使用conda的简单方法

conda install -c conda-forge emacs

如果您没有conda并想安装它,请参阅[1]

emacs 已为OS X和linux_64平台预先构建,有关版本,请参见[2]。

[1] https://conda.io/miniconda.html
[2] https://anaconda.org/conda-forge/emacs


3
我不敢相信我可以使用conda安装emacs。谢谢!
CodyChan

1
:-D 我花了一个小时尝试从头开始构建emacs(因为我在服务器上没有root特权,而管理员也没有帮助我),我觉得“肯定有一种更简单的方法”。当然,有一种更简单的方法conda
Thamme Gowda '18

1
我也没有服务器上的root特权,但是我曾经多次从头开始编译emacs(可能需要修复一些丢失的库),现在的关键点是由于编译时出现一些错误,我无法从头开始编译emacs。 。无论如何,我设法使用来安装了最新版本的emacs conda,这是我从您那里学到的一种全新且干净的方法。谢谢。
CodyChan

1
太不可思议了,这是最好的答案
Prasad Chalasani

令人难以置信的是,conda提供了emacs!现在想知道我还缺少什么。conda搜索emacs可以工作,但是出于好奇,conda列表有一些变体,可以显示哪些软件包可用???
巴鲁

1

不要在服务器上安装emacs-没有理由通过网络延迟来强迫自己使用该接口。而是将emacs安装到您的工作站上,并使其使用TRAMP模式从服务器获取文件。或者,您可以使用Filezilla,它将为您下载文件,并在保存后自动上传。


1
我对某些服务器的延迟不到1毫秒,而对其他服务器的延迟却非常好。我们使用附近的数据中心。延迟对于其他任何编辑器都不是问题,我想将其用作$ EDITOR来处理诸如输入提交消息以进行版本控制之类的事情。我从来没有在远程服务器上进行认真的编程,而是使用已经安装了emacs的本地工作站。
Abhi Beckert 2013年

1
@AbhiBeckert好吧,在那种情况下,您可能确实想尝试安装它。make install只要您不是root用户,我就不会害怕执行它,它不会在您的主目录之外执行任何操作。另外,nano如果您喜欢无模式编辑,则可能要查看是否已安装。
wingedsubmariner
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.