Info 是支持的,只是由于一些无法避免的原因可能会失败,比如用户电脑上没装 texinfo、texinfo 版本不匹配、安装 info 的命令比较复杂(straight.el
不支持自定义命令)。
package.el
/ ELPA 可以看成从「二进制包」安装,straight.el
可以看成从 「源代码包」安装。
我以为我会喜欢Gentoo
后来发现原来我喜欢Arch
Linux 太弱,像 Pentium 4 + 512MB 这种情况 Arch 完全没用,反而 BSD 都能支持。
我觉得应该定一些标准宏,利用 eval-when
实现在加载包的时候自动编译 el 文件和安装其它相关组件。而且 straight.el 这种用软链接的方式我觉得缺少灵活性。
现在的包管理策略都是默认给单用户安装的,对于我这样习惯做不同事切换不同用户账号的策略并不方便。
浅克隆是指什么?我刚开始接触从源安装包没什么概念。
不全部复制下来的话不会缺少文件吗?
正常克隆会把文件修改记录也下载下来
你的发行版不对而已。slackware就能支持,debian更不用说吧。老旧机器有专用发行版的
我觉得任何供最终用户使用的git clone
命令都应该加上--depth 1
参数……
shallow clone的issue,说是放进了milestone,但是里面却没有它,我没搞清楚现在实现了没。反正至少是在路上了……
然后我想问,怎么把melpa之类的仓库换成emacs-china源?straight-recipe-repositories
?
straight 不支持 ELPA,只能从 Git 安装包,部分包的 Git 信息来自于 Melpa,如 Magit
想尝试一下,感觉git submodule 安装爽,删除起来特别让人头秃
我给magit写了个magit-submodule-remove
很好用
刚体验了一下straight,有以下感想:
-
我完全不需要自动build的功能。
-
文档虽然很多,但我觉得其实不如给实际配置的例子。比如我想禁用build,找到参数:no-build,但这个参数怎么用呢? 文档说了一大推,我看了半天还是一头雾水,直到在issue中搜到了这样的代码:
(straight-override-recipe '(org :type git :host github :repo "emacsmirror/org" :no-build t)) (use-package org)
这不就清楚了吗。。。
-
因为straight默认只把package的build文件夹加入
load-path
,所以如果build的过程出了问题,导致build文件夹是空,那么就会找不到这个package。 -
我用straight配置
aweshell
,就碰到了3中的bug,然后我至今都不知道它为什么没有build(是因为没有Makefile吗?但没必要为了使用straight特地为没有Makefile的package特地写一个吧。。。)
所以最终我禁用了straight的build功能,然后另写了代码把straight下载的package加入到load-path
里。
总结:比我想象的要难用
我今天还在想要不要转到straight,看来还是再观望一会比较好吧……
昨天采用straight设定–depth=1的新特性clone magit, 但第一次安装时这个参数没起作用(还是全的log), 第二次安装直接在clone阶段卡住了(大概30分钟都没反应)…
我还没搞清楚到底是什么问题…
还有, straight的recipe概念我一直没弄懂, readme中的描述太抽象了…
是不是没有用 develop 分支呢?这个改动还没进 master
更新了develop, 试了几个其它的包都成功了, 就这个莫名其妙的不行.
先mark一下, 等有时间了我找一下原因.
找到原因了.
场景如下:如果指定了package的fork
参数, 那么straight
会执行git fetch fork
, 而这条指令是不会使用depth
参数的, 所以会把magit所有history都下载下来.
我已经给作者报了issue.