- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对软件包有以下设置(不确定是否有更好的推荐):
(require 'package)
(setq package-archives '(("ELPA" . "http://tromey.com/elpa/")
("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")))
; Apparently needed for the package auto-complete (why?)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(setq url-http-attempt-keepalives nil)
我有三个与软件包安装和更新相关的问题。
Q1.有没有办法更新可用软件包(以及最新版本)列表并更新特定软件包?
Q.2以下包源有什么区别?:
Q.3它们添加到package-archives
的顺序重要吗?
最佳答案
为了自动更新软件包列表,仅当尚无软件包列表时,请使用以下内容:
(when (not package-archive-contents)
(package-refresh-contents))
要更新所有已安装的软件包,请输入 package-list-packages
,这会将您带到 *Packages*
缓冲区(并且还会更新软件包列表),然后输入 U x。
package-refresh-contents
无条件尝试从您添加到 package-archives
的所有存储库下载软件包列表;如果您已经下载了软件包列表,则 package-archive-contents
不为零。
ELPA 是原创。我认为它不再被真正维护,但我不确定。我没用过。
GNU 是“官方的”。它与 Emacs 一起维护,这意味着一切应该始终有效,但更新和新软件包不会经常出现。
Marmalade 基本上是一个网站,您可以在其中上传完整的包,并将其添加到 marmalade 存储库中。您不只是提交到包上游的链接,而且它并不能完全自动创建包。我认为这是正确的事情,因为你不一定想追踪上游。不幸的是,它已经有一段时间没有维护了,但最近有人接管了它,所以它应该会在某个时候回来并且变得更好。
Melpa 获取一个 URL,例如EmacsWiki lisp 区域或 github 存储库,并从中自动构建一个包。因此,它通常最多比所跟踪的内容晚一天。尽管它跟踪上游,但我在实践中从未遇到过问题,这也是我的大部分包都来自的地方。还有 Melpa Stable,它与 Melpa 类似,但获取上游存储库的标记修订版而不是最新修订版。 Melpa stable 的软件包比 Melpa 少。
Org 模式 有自己的 package.el
存储库 ( http://orgmode.org/elpa/ )。
所有软件包存储库的工作方式都是相同的,您只需将它们添加到您的package-archives
中即可。
这里有更深入的blog post关于这个主题,我基本上同意。
我不确定,但我认为如果一个包在不同的存储库中重复,则存储库在 package-archives
中出现的顺序决定优先级。我不知道更高的优先级是在列表的开头还是结尾。
更新:在 Emacs 25 中,有一个变量 package-archive-priorities
,您可以使用它来确定软件包存储库的优先级(例如,优先选择 ELPA 而不是 MELPA)。
如果您有兴趣,这里是我的 init.el
的相关部分:
(setq jpk-packages
'(
ac-dabbrev
...
yasnippet
))
(package-initialize)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(add-to-list 'package-archives
'("org" . "http://orgmode.org/elpa/"))
;; install any packages in jpk-packages, if they are not installed already
(let ((refreshed nil))
(when (not package-archive-contents)
(package-refresh-contents)
(setq refreshed t))
(dolist (pkg jpk-packages)
(when (and (not (package-installed-p pkg))
(assoc pkg package-archive-contents))
(unless refreshed
(package-refresh-contents)
(setq refreshed t))
(package-install pkg))))
(defun package-list-unaccounted-packages ()
"Like `package-list-packages', but shows only the packages that
are installed and are not in `jpk-packages'. Useful for
cleaning out unwanted packages."
(interactive)
(package-show-package-list
(remove-if-not (lambda (x) (and (not (memq x jpk-packages))
(not (package-built-in-p x))
(package-installed-p x)))
(mapcar 'car package-archive-contents))))
关于emacs - 在 Emacs 中更新软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14836958/
当我做 rpm -qa | grep nano我可以看到 Nano 文本编辑器已安装到我的 CentOS 机器上。 但是当我做 rpm -qpi nano-2.9.8-1.el8.x86_64.rpm
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 4年前关闭。 Improve this qu
我无法使用“yum”命令在RHEL服务器上安装“graphviz” 我下载了graphviz rhel.repo,并将其保存在/etc/yum.repos.d/上,然后使用“yum-y install
我想用 Go 检查 dot 包是否已安装并可在当前 OS 上执行。 我的第一个想法是检查 PATH 变量中的 /dot 字符串?有没有更好的方法来使用 Go 获取可执行/已安装的包? 任何建议都会有所
我已经在我的 ubuntu 上安装了 R(3.4.0)。我想使用 EdgeR 包。我尝试按照 Bioconductor 网站上的安装说明安装 Bioconductor 软件包。 我在 R 中使用了以下
我已经自定义编译了我自己的 ffmpeg 版本,并从这个包中制作了一个 .deb 文件。包描述如下control.txt Package: ffmpeg Version: 4.3-ubuntu1804
我正在尝试构建一个 debian 软件包,它会自动配置我所有的机器以使用相同的配置文件和设置。 例如,我正在尝试设置诸如 alter/etc/default/hostapd 之类的内容。我目前正在通过
我的configuration.nix中有一些要覆盖的软件包。因此,我将代码编写如下: nixpkgs.config = { allowUnfree = true; packageOverri
我想将我的 Ubuntu 从 19.04 升级到 20.04,但在我更新所有软件包之前这是不可能的。 ❯ sudo do-release-upgrade Checking for a new Ubun
我安装了 Homebrew 软件,但是我没有管理员权限。如何在没有管理员访问权限的情况下安装 Homebrew 软件包?是否有本地标签或我一直缺少的东西? 最佳答案 Homebrew 需要 /usr/
我想重建/重新编译具有特定标志的机器的所有 Debian 软件包。 我怎样才能用尽可能少的命令来做到这一点? 我发现 https://debian-administration.org/article
请帮我在 R 中安装 Rmpfr 包。 结果是: 安装包“Rmpfr”的退出状态非零,我无法安装它。 R控制台的代码发布如下: * installing *source* package ‘Rmpfr
有没有办法从这一行下载所有软件包,将它们保存在本地,然后将它们安装到没有互联网连接的机器上? yum install -y qemu-kvm qemu-img virt-manager libvirt
以下 R 命令将安装所有 CRAN 软件包: availablePackages <- available.packages()[,1] install.packages(availablePacka
我正在尝试在 OS X 10.12.6 上安装 RCurl,但出现以下错误: Error: package or namespace load failed for ‘RCurl’ in dyn.lo
我正在尝试自动设置开发人员机器软件安装。当您连接到 Internet 时,Chocolatey 很适合安装软件包。有没有办法离线安装软件包? 我只想将所有包放在共享网络文件夹中并使用该包进行安装。如果
这很奇怪,list-packages 缓冲区将实际安装的某些软件包的状态显示为“可用”。该列不应该为他们显示“已安装”吗?当我单击其中一个时,会打开一个新缓冲区,通知我该软件包已安装,但不提供卸载选项
我刚开始学习 Dart 。 首先,我从https://angular.io/docs/dart/latest/quickstart.html创建了一个基于angular2-dart的项目,它正常工作。
我在 ~/R/i486-pc-linux-gnu-library/2.11 下安装了一些 R 软件包。 我想让它们以及我从现在开始安装的任何其他 R 软件包可供所有 R 用户使用。我不介意在一个中立的
我是Renjin的新手,无法使用AetherPackageLoader安装软件包。我收到与Renjin can't load pckages中相同的错误,但看似正确的Gradle文件(请注意a4Bas
我是一名优秀的程序员,十分优秀!