Debian
guix pull 拋出“匹配錯誤”
我已經安裝了包guix(在 debian Bullseye 上)。
並嘗試
guix pull
按照文件中的說明執行:$ sudo -i guix pull Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... Building from this channel: guix https://git.savannah.gnu.org/git/guix.git b329c21 Backtrace: 6 (apply-smob/1 #<catch-closure 7faa14873220>) In ice-9/boot-9.scm: 705:2 5 (call-with-prompt _ _ #<procedure default-prompt-handle…>) In ice-9/eval.scm: 619:8 4 (_ #(#(#<directory (guile-user) 7faa144f0140>))) In guix/ui.scm: 2117:12 3 (run-guix-command _ . _) In ice-9/boot-9.scm: 829:9 2 (catch _ _ #<procedure 7faa1446a280 at guix/ui.scm:702…> …) 829:9 1 (catch _ _ #<procedure 7faa1446a298 at guix/ui.scm:842…> …) 829:9 0 (catch _ _ #<procedure 7faa119b30a8 at guix/scripts/pu…> …) ice-9/boot-9.scm:829:9: In procedure catch: Throw to key `match-error' with args `("match" "no matching pattern" ( #:re-export-and-replace (delete) #:replace ((define-public* . define-public)) #:export (content-hash content-hash? content-hash-algorithm content-hash-value origin origin? this-origin origin-uri origin-method origin-hash origin-sha256 origin-file-name origin-actual-file-name origin-patches origin-patch-flags origin-patch-inputs origin-patch-guile origin-snippet origin-modules base32 base64 package package? this-package package-name package-upstream-name package-version package-full-name package-source package-build-system package-arguments package-inputs package-native-inputs package-propagated-inputs package-outputs package-native-search-paths package-search-paths package-replacement package-synopsis package-description package-license package-home-page package-supported-systems package-properties package-location package-definition-location hidden-package hidden-package? package-superseded deprecated-package package-field-location this-package-input this-package-native-input lookup-package-input lookup-package-native-input lookup-package-propagated-input lookup-package-direct-input prepend replace modify-inputs package-direct-sources package-transitive-sources package-direct-inputs package-transitive-inputs package-transitive-target-inputs package-transitive-native-inputs package-transitive-propagated-inputs package-transitive-native-search-paths package-transitive-supported-systems package-mapping package-input-rewriting package-input-rewriting/spec package-source-derivation package-derivation package-cross-derivation package-output package-grafts package-patched-vulnerabilities package-with-patches package-with-extra-patches package-with-c-toolchain package/inherit transitive-input-references %supported-systems %hurd-systems %cuirass-supported-systems supported-package? &package-error package-error? package-error-package &package-input-error package-input-error? package-error-invalid-input &package-cross-build-system-error package-cross-build-system-error? package->bag bag->derivation bag-direct-inputs bag-transitive-inputs bag-transitive-host-inputs bag-transitive-build-inputs bag-transitive-target-inputs package-development-inputs package-closure default-guile default-guile-derivation set-guile-for-build package-file package->derivation package->cross-derivation origin->derivation)))'.
(我添加了換行符以提高可讀性)。
如何解決此錯誤?
正如Vagrant Cascadian 建議的那樣,應該採取中間步驟。
- 將 guix 更新為標記為
v1.3.0
(hasha0178d3...
) 的送出:$ guix pull --commit=a0178d3 ...
- 然後使用這個版本的腳本來拉主分支:
$ ~/.config/guix/current/bin/guix pull
- 並安裝任何軟體包(
guile
例如):$ ~/.config/guix/current/bin/guix install guile
初始化您的主配置文件 (
~/.guix-profile
)。現在你有:
~/.config/guix/current/bin/guix
— 最新版本的guix
腳本。~/.guix-profile
- 你的主要資料。- 要將它們放在一起並開始使用 guix,您需要重新登錄。這將
/etc/profile.d/guix.sh
添加到$PATH
兩個目錄中:${HOME}/.guix-profile/bin
和${HOME}/.config/guix/current/bin
.