最近、パッケージのrequireが既存のパッケージ名ではなく、auto_pathのpkgIndexファイルの1つがパッケージにrequireが含まれていて、既存のパッケージでない場合、tclPkgUnknownが無限再帰を入力することが判明しました。 pkgIndexからパッケージrequireを評価することができないのでしょうか、これは隠れたバグですか?package requires inside pkgIndex
0
A
答えて
1
pkgIndex.tcl
ファイルは、決してpackage require
で実行しないでください。 package ifneeded
を呼び出して、パッケージ管理システムにを伝えて、特定のパッケージの特定のバージョンをロードする方法をに伝える必要があります。これは、インデックス・スクリプトが、パッケージのディスカバリー時にはかなり異なる時にロードされるためであり、必ずしもそのパッケージのバージョンが本当に必要な時ではないからです。このルールに固執すれば、問題はありません。
ここには、そこにあるべきものがあります。
# Maybe some comments here?
package ifneeded Foo 1.2.3 [list source [file join $dir foo.1-2-3.tcl]]
$dir
?これは、便宜上、インデックスファイルを含むディレクトリの名前です。 (これは実際にはローカル変数でもあり、インデックスファイルはの内部でのプロシージャコンテキストと評価されます)
関連する問題
- 1. Webpack preserve requires
- 2. TreeViewItem.Header inside inside
- 3. Rails "application.js requires"とAJAX double request
- 4. Android DownloadManager 'Download Requires Network'エラー
- 5. foreach inside foreach inside foreach
- 6. JS inside inside JS?または
- 7. jQuery this inside this
- 8. Explicit Package Error in Perl
- 9. Spring Resource Inside JAR/WAR
- 10. /data/data/[package]/insideに格納された内部ファイルをAndroidで使用する方法は?
- 11. package-lock.jsonの "requires:true"とは何か
- 12. Swift Package Manager - 使用方法
- 13. Javascript confirmbox + form inside
- 14. Oracle IF inside CASE
- 15. Android Button Inside PopupWindow
- 16. Android - ListView inside dialog
- 17. Echo inside echo PHP
- 18. C:timer inside/loop + scanf?
- 19. html table inside ngbTooltip
- 20. Facebook:iframe inside iframe?
- 21. キーボードイベントQMainWindow inside QMainWindow
- 22. WIX Paraffin insideプログラムファイルディレクトリ
- 23. Constant inside class
- 24. JPanel inside another
- 25. inside foreach in PHP
- 26. ExpandableListView inside ExpandableListView
- 27. CollectionView inside ViewController
- 28. var_dump inside wordpress functions.php
- 29. Angular2 subscribe inside subscribe
- 30. Scroll inside tbody angularjs
pkgIndexファイルに 'package require'があるのはなぜですか?これはpkgIndexファイルの誤用であり、バグではありません。 –
システム内で、すべてのtclファイルをフォームパッケージに暗号化しておく必要がありますEncr dencryptAndEval {暗号化されたスクリプト} – ArmanHunanyan
tclパッケージに関するドキュメントは、https://www.tcl.tk/man/tcl8.5よりも有益です/tutorial/Tcl31.html。特に、C++コードのtclパッケージを作成する方法 – ArmanHunanyan