Ракетка: обмен скриптами / библиотеками с другим пользователем в той же системе

У меня есть сценарий, который я написал в 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

Поскольку она, похоже, искала только мою библиотеку в каталоге коллег, я подумал, что смогу исправить ее, добавив следующий код в сценарий, чтобы они использовали мой путь к коллекции перед тем, как требовать модули.

(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 - установка области - mypackage.zip

0 ответов

Другие вопросы по тегам