如何解决使用rakubrew安装其他rakudo版本的模块
使用rakubrew升级rakudo版本时,更改版本非常容易,但是我想知道是否有可能将raku模块从旧版本导入到新版本。 doign zef自动安装:
要更新:
rakubrew build 2020.10
但随后:
❯ raku
Welcome to ??????™ v2020.10.
Implementing the ????™ programming language v6.d.
Built on moarvm version 2020.10.
You may want to `zef install Readline` or `zef install Linenoise` or use rlwrap for a line editor
To exit type 'exit' or '^D'
所以我需要安装当前使用的所有模块:
rakubrew build-zef zef安装Sparrow6 zef安装Linenoise
因此存在任何.zef或.rakubrew文件或检查以自动维护此模块的文件
解决方法
您可以使用zef list --installed
获取已安装模块的列表。请注意,您可能想忽略share/perl6
回购,因为其中包含的CORE
模块特定于每个版本的rakudo。
请参阅:https://github.com/ugexe/zef#list-from
列出[* @ from]
列出已知的可用分布
$ zef-已安装列表
===>通过/home/nickl/.rakubrew/moar-master/install/share/perl6/site找到
CSV :: Parser:ver :auth
Zef:auth
===>通过/home/nickl/.rakubrew/moar-master/install/share/perl6找到
CORE:ver :auth
或者,您可以使用以下单行获取列表:
$ raku -e 'say $*REPO.repo-chain.grep(CompUnit::Repository::Installation).map(*.installed.Slip).grep(*.defined).map({ CompUnit::Repository::Distribution.new($_).Str }).join(" ")'
Text::Table::Simple:ver<0.0.7>:auth<github:ugexe>:api<> CSV::Parser:ver<0.1.2>:auth<github:tony-o>:api<> CORE:ver<6.d>:auth<perl>:api<>
# $*REPO.repo-chain.grep(CompUnit::Repository::Installation) # Get only repos for installed raku modules
# .map(*.installed.Slip) # Get a list of installed modules for this repo,and Slip it into the outer singular results list
# .grep(*.defined) # Some repos will have had no modules,so remove these undefined entries
# .map({ CompUnit::Repository::Distribution.new($_).Str }) # Use CompUnit::Repository::Distribution to get at the normalized identifier
# .join(" ") # Join the results together
一旦您选择了一种创建需要安装列表的方式,就可以将该列表传递给zef
(尽管您的shell可能要求您在命令行中明确引用传递的名称)
rakubrew在不同的目录$HOME/.rakubrew/versions/moar-*
中安装了不同的Raku版本
因此,每个Raku版本都有其自己的单独的Installation
存储库(site,vendor,...
)。
而且我认为,因为zef
默认将发行版安装到site
回购中。因此,这些模块在多个版本中不可用。
但是,由于Raku使用home
Installation
回购(#inst/home/user-name/.raku
),并且它存在于repo-chain
中,因此您可以将所有版本都可以使用的模块安装到{ {1}}回购(home
)。 (这些模块将在新的~/.raku
版本中第一次use
进行预编译)。
请注意,我尚未使用Raku
进行过测试,但我使用的是zef
,默认情况下会安装到Pakku
回购中,并且我安装到home
的模块也可用到我的Linux计算机上的所有home
rakubrew
版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。