问题描述
我目前正在Ubuntu 20.04上进行开发。我正在使用http版本2.9.1附带的tcl的当前最新版本。但是我需要使用特定版本的http软件包,即2.8.9。当我使用指令时:
package require http -exact 2.8.9
我收到一个错误,它找不到软件包http 2.8.9。有什么方法可以下载特定的http软件包,然后在我的脚本中使用它。还是有办法将tcl降级到较早的版本。或下载早期版本的tcl,然后指定要使用的版本。
解决方法
您可以从github镜像中获取它:https://github.com/tcltk/tcl/blob/core-8-6-6/library/http/http.tcl
- 将该版本另存为
http.tcl
在目录中,例如/path/to/my/http
-
cd /path/to/my/http
-
echo "pkg_mkIndex ." | tclsh
然后,在您的tcl脚本中:
lappend auto_path /path/to/my/http
package require -exact http 2.8.9
您还可以lappend auto_path /path/to/my
-程序包加载器在$ auto_path中的目录以及这些目录的直接子目录中查找pkgIndex.tcl文件。使用/path/to/my
可以使您在该父目录下拥有其他自定义包目录