2015-08-29 45 views
4

存在當我試圖安裝一個軟件包通過拉科,我得到一個奇怪的錯誤消息:拉科設置:目錄不收集

raco setup: directory: #<path:/Users/ben/code/racket/benchmark/tr-pfds/pfds> does not exist for collection: "pfds" 

更奇怪的是,運行raco pkg show沒有顯示出這事,「工藝流程圖「收藏:

Installation-wide: 
Package    Checksum          Source 
main-distribution f07e2d4bf2708c1085be38eca18aa9eb6755e547 (catalog main-distribution) 
racket-lib   41c7b3221006758c5a840a18dcc0d265632f14c2 (catalog racket-lib) 
[178 auto-installed packages not shown] 
User-specific for installation "6.1": 
Package   Checksum         Source 
benchmark   1237b50804bb42bd242ba7b3eb6e2b98794b40ee (catalog benchmark) 
feature-profile 109e89701839a6d2fed9d1713aef8d21cc8b54d4 (catalog feature-profile) 
quickcheck   1afac87825c5da8b35b327f5df3f1f9e1bf3cb9d (catalog quickcheck) 
rackunit-chk  9c6e9c346c0e83bd3bb8dd16e321a2fa3e02b42e (catalog rackunit-chk) 

另一件事我想只是刪除‘工藝流程圖’收藏,但並不順利之一:

raco6.1 pkg remove pfds 
Removing pfds 
raco6.1 pkg remove: package not currently installed 
    package: pfds 
    current scope: user 

但回想起來,這個錯誤對我來說很有意義,因爲我的機器上不存在目錄/Users/ben/code/racket/benchmark/tr-pfds/pfds。幾周前我刪除了它。

有誰知道發生了什麼事?

回答

3

您是否在過去使用過raco link?如果您有raco link已刪除的目錄,您有時可以看到此錯誤消息。

有三件事情你可以嘗試:

  1. 運行raco link --repair。理想情況下,這應該通過刪除所有死鏈接來修復您的安裝。

  2. 運行raco link -r pkfds,這應該會刪除您的pfds鏈接。

  3. 檢查links.rktd文件,可以發現:

    • (Linux)的~/.racket/<version>/links.rktd
    • (OS X)~/Library/Racket/<version>/links.rktd
    • (Windows)中C:\Users\<username>\AppData\Roaming\Racket\<version>\links.rktd

在該文件中,您可能會看到的鏈接210,這是造成這個問題。

一旦鏈接被刪除,raco setup應該再次正常工作。

(作爲附錄,可能有趣的是要注意,raco link has an API call from within Racket。)

+0

謝謝!從'links.rktd'中刪除文件修復了我。 –