Perl 的哪一部分不喜欢 NTFS 连接点?
我喜欢 Vista 风格的路径,因此在 XP 计算机上我创建了 NTFS 连接 C:\Users
-> C:\Documents and Settings
和 ~\Documents
-> ~\My Documents
,这样我只需编写一种样式的路径C:\Users\me\Documents
。
但是,当我将 PERL5LIB
设置为 'C:\Users\me\Documents\dev\perl\lib' 时,
。 CPAN::SQLite
和 Exporter 的配合非常困难。Exporter 的 从 Exporter
继承的模块在尝试使用 export_to_level
时开始抱怨未定义。
我真的认为这是 Exporter
等人,而 CPAN::SQLite
只是受害者,因为它导入 $dbh< use 语句中的 /code> 符号,只会让 perl 抱怨
$dbh
未定义。除此之外,XS 相关模块抱怨没有“引导”方法。
那么有人知道 Perl (Strawberry) 是否对 NTFS 连接有特殊问题吗?
I like the Vista style for pathing, so on a XP machine I've created NTFS junctions C:\Users
-> C:\Documents and Settings
and ~\Documents
-> ~\My Documents
, so that I only ever have to write one style of path C:\Users\me\Documents
.
However, CPAN::SQLite
and Exporter have a hairy fit when I set PERL5LIB
to 'C:\Users\me\Documents\dev\perl\lib'
. Exporter's Modules that inherit from Exporter
start complaining that export_to_level
is not defined when they try to use it.
I really think it's Exporter
et al., and CPAN::SQLite
is just a victim, because it imports the $dbh
symbol in the use statement, only to have perl complain that $dbh
was not defined. On top of this, XS-related modules complain that there is no 'bootstrap' method.
So does any one know if Perl (Strawberry) has a particular problem with NTFS Junctions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这与其说是一个后续问题的答案:我无法重现该问题。所以我无法可靠地复制错误消息。这不仅仅是重启。因为我做了好几个这样的事。
我将
PERL5LIB
改回“C:\Documents and Settings\me\My Documents\...
”,运行了一些 Perl,结果就是这样必须如此。然后我在评论中阅读了 ikegami 的问题,并将 Windows 设置更改回 C:\Users\me\Documents\...\perl\lib 并且 Perl 仍然运行良好 - CPAN 也是如此。我重新启动,确保环境变量是由连接名称设置的,并且 Perl 和 CPAN 仍然运行良好。
自从我发布这个问题以来的几周内,我再也没有遇到过这个问题。现在这是我运行的 perl 环境:
事情是,在运行“旧方式”时,我可能重新组织了我的个人 perl/lib 以消除另一个问题。
但我认为答案是,从长远来看,Strawberry Perl 可能在 NTFS 连接方面没有任何问题。
This is not so much an answer bu a follow-up: I could not recreate the problem. So I can't reliably replicate the error message. It wasn't just a reboot. Because I did several of those.
I changed my
PERL5LIB
back to "C:\Documents and Settings\me\My Documents\...
" ran some Perl fine, and just settled that that was the way it had to be.Then I read ikegami's question in the comments and changed the Windows setting back to
C:\Users\me\Documents\...\perl\lib
and the Perl still ran fine--so did CPAN. I rebooted making sure that the environment variable was being set by the Junction names, and still perl and CPAN ran fine.In the weeks since I've posted this question, I've never seen the problem again. And now here's the perl environment I run in:
Thing is that in running the "old way", I might have reorganized my personal perl/lib to eliminate another problem.
But I think the answer is that it is likely Strawberry Perl has NO problems with NTFS Junctions...in the long run.