Closed vadim-zyamalov closed 1 year ago
I see you closed this issue. Did you figure it out?
Windows 11 elpaca failed elpaca--link-build-files: (file-error "Making symbolic link" "Operation not permitted"
If not, I suggest re-reading this section of the readme: https://github.com/progfolio/elpaca#installer Note the section about Windows users and symlinks.
Yes, sorry for my impatience. I'm trying to migrate from straight.el
and it seems that I just forgot to apply all needed changes.
Also I figured out, that on Windows without permission to make links I should put (elpaca-no-symlink-mode)
before (elpaca `(,@elpaca-order))
.
Sorry for wasting your time
Not a problem. Glad you figured it out.
Confirmation
Elpaca Version
((elpaca . "9a130c0 HEAD -> master, origin/master, origin/HEAD") (isntaller . 0.5) (emacs . "GNU Emacs 29.1 (build 2, x86_64-w64-mingw32) of 2023-07-31") (git . "git version 2.42.0.windows.2"))
Operating System
Windows 11 Emacs 29.1, installed via Scoop
Description
I'm trying to configure my Emacs using
elpaca
. I've copy-pasted the bootstrap code andelpaca-use-package
snippet to the beginning of my config.My `early-init.el`
```emacs-lisp ;; early-init.el --- Emacs config -*- lexical-binding: t; no-byte-compile: t; -*- ;;; Code: (setq gc-cons-threshold most-positive-fixnum gc-cons-percentage 0.6) (defvar file-name-handler-alist-original file-name-handler-alist) (setq file-name-handler-alist nil) (add-hook 'emacs-startup-hook (lambda () (setq gc-cons-threshold (* 8 1024 1024)) (setq file-name-handler-alist file-name-handler-alist-original) (makunbound 'file-name-handler-alist-original))) (setq user-emacs-directory (expand-file-name "emacs/" (or (getenv "XDG_CACHE_HOME") "~/.cache/"))) (setq native-comp-eln-load-path `(,(expand-file-name "eln-cache/" (or (getenv "XDG_CACHE_HOME") "~/.cache/")))) (push (expand-file-name "modules/" (file-name-directory user-init-file)) load-path) (setq custom-file (expand-file-name "custom.el" user-emacs-directory)) (tool-bar-mode -1) (scroll-bar-mode -1) (menu-bar-mode -1) (setq visible-bell t ring-bell-function 'ignore inhibit-splash-screen t inhibit-startup-message t use-dialog-box nil) (setq package-enable-at-startup nil package-quickstart nil) (setq native-comp-speed -1) ;;; early-init.el ends here ```My `init.el`
```emacs-lisp ;; init.el --- Emacs config -*- lexical-binding: t; no-byte-compile: t; -*- (org-babel-load-file (concat (file-name-directory user-init-file) "config-use.org")) ;;; init.el ends here ```The beginning of `config.el`
```emacs-lisp ;; -*- lexical-binding: t; -*- (defvar elpaca-installer-version 0.5) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" :ref nil :files (:defaults (:exclude "extensions")) :build (:not elpaca--activate-package))) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) (build (expand-file-name "elpaca/" elpaca-builds-directory)) (order (cdr elpaca-order)) (default-directory repo)) (add-to-list 'load-path (if (file-exists-p build) build repo)) (unless (file-exists-p repo) (make-directory repo t) (when (< emacs-major-version 28) (require 'subr-x)) (condition-case-unless-debug err (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) ((zerop (call-process "git" nil buffer t "clone" (plist-get order :repo) repo))) ((zerop (call-process "git" nil buffer t "checkout" (or (plist-get order :ref) "--")))) (emacs (concat invocation-directory invocation-name)) ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" "--eval" "(byte-recompile-directory \".\" 0 'force)"))) ((require 'elpaca)) ((elpaca-generate-autoloads "elpaca" repo))) (progn (message "%s" (buffer-string)) (kill-buffer buffer)) (error "%s" (with-current-buffer buffer (buffer-string)))) ((error) (warn "%s" err) (delete-directory repo 'recursive)))) (unless (require 'elpaca-autoloads nil t) (require 'elpaca) (elpaca-generate-autoloads "elpaca" repo) (load "./elpaca-autoloads"))) (add-hook 'after-init-hook #'elpaca-process-queues) (elpaca `(,@elpaca-order)) (when (< emacs-major-version 29) (elpaca use-package)) (elpaca elpaca-use-package (elpaca-use-package-mode)) (elpaca-wait) (use-package use-package-hydra :elpaca t) (elpaca-wait) (elpaca-no-symlink-mode) ```Then I get the following error
What `--debug-info` returns
Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "elpaca") require(elpaca) (if (require 'elpaca-autoloads nil t) nil (require 'elpaca) (elpaca-generate-autoloads "elpaca" repo) (load "./elpaca-autoloads")) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) (build (expand-file-name "elpaca/" elpaca-builds-directory)) (order (cdr elpaca-order)) (default-directory repo)) (add-to-list 'load-path (if (file-exists-p build) build repo)) (if (file-exists-p repo) nil (make-directory repo t) (if (< emacs-major-version 28) (progn (require 'subr-x))) (condition-case err (let* ((buffer (and t (pop-to-buffer-same-window "*elpaca-bootstrap*"))) (s (and buffer (= 0 ...))) (s (and s (= 0 ...))) (emacs (and s (concat invocation-directory invocation-name))) (s (and emacs (= 0 ...))) (s (and s (require ...))) (s (and s (elpaca-generate-autoloads "elpaca" repo)))) (if s (progn (message "%s" (buffer-string)) (kill-buffer buffer)) (error "%s" (save-current-buffer (set-buffer buffer) (buffer-string))))) ((debug error) (warn "%s" err) (delete-directory repo 'recursive)))) (if (require 'elpaca-autoloads nil t) nil (require 'elpaca) (elpaca-generate-autoloads "elpaca" repo) (load "./elpaca-autoloads"))) load-with-code-conversion("c:/Users/zyama/AppData/Roaming/.emacs.d/config-use..." "c:/Users/zyama/AppData/Roaming/.emacs.d/config-use..." nil nil) load-file("c:/Users/zyama/AppData/Roaming/.emacs.d/config-use...") org-babel-load-file("c:/Users/zyama/AppData/Roaming/.emacs.d/config-use...") load-with-code-conversion("c:/Users/zyama/AppData/Roaming/.emacs.d/init.el" "c:/Users/zyama/AppData/Roaming/.emacs.d/init.el" t t) load("c:/Users/zyama/AppData/Roaming/.emacs.d/init" noerror nomessage) startup--load-user-init-file(#f(compiled-function () #However elpaca is loaded as the
elpaca-version
command works.What I'm doing wrong? I've looked through some configs using elpaca and I didn't see the problem.
Thanks.