我有一个我几年前在Racket写过的脚本,我想与一位使用我同一个Linux工作站的同事分享,但是有一个不同的主文件夹。我可以从我的帐户中运行它,但是当我让他们从他们的帐户调用脚本时,他们会收到错误:
/home/me/racket/script:10:9: collection not found
for module path: mylibrary
collection: "mylibrary"
in collection directories:
/home/colleague/.racket/6.4/collects
/share/apps/racket/racket-6.4/share/racket/collects
... [155 additional linked and package directories]
context...:
show-collection-err
standard-module-name-resolver
由于它似乎只是在同事目录中查找我的库,我想我可以通过在脚本中添加以下代码来修复它,以便在需要模块之前使用我的集合路径。 / p>
(current-library-collection-paths
(list "/home/me/.racket/6.4/collects"
"/share/apps/racket/racket-6.4/share/racket/collects"))
我从阅读中得到了这个想法:https://docs.racket-lang.org/reference/collects.html。从该源看,我似乎也可以将PLTCOLLECTS
环境变量设置为具有相同的效果。
虽然我仍然能够运行该脚本,但它仍然不适用于我的同事。这个程序显然不符合我的想法。
我怎样才能完成我的目标 - 如何让他们重新使用我的Racket环境来运行脚本?
我确实在全球范围内安装了它们:
raco pkg install --scope installation - mypackage.zip