windows环境下ppm install 一直是很郁闷的事。
主要原因:
ppm配置文件的路径中还有汉字(一般是windows中文用户名导致)。
比如: C:\Documents and Settings\中文名\Local Settings\Application Data\ActiveState\ActivePerl\1203\ppm-MSWin32-x86-multi-thread-5_12.db
最简单的解决办法:
1、把当前用户名改用英文。
2、或者切换到系统自带的Administrator用户再安装。
如果你不想改或者切换到Administrator仍失败。那么往下看:
问题描述:
D:\>ppm install json ppm install failed: DBI connect('dbname=C:\DOCUME~1\用户名\LOCALS~1\APPLIC~1/ActiveState/ActivePerl/1203/ppm-MSWin32-x86-multi-thread-5_12.db','',...) failed: unable to open database file D:\>
解决办法:
众多想学习perl的同学看到这个提示都很郁闷。常用的解决办法就是自己下载模块手动安装。
对于习惯了windows的用户,perl MakeFile.PL、make、make install的标准3步操作和给出的提示犹如天书。
那么AJ尝试来给大家简单的理一下,如果有更多疑问欢迎加QQ 284508558讨论,暗号:ppm install
首先尝试运行perl Makefile.PL 当前是你已经下载了你要安装的模块了(模块一般包含:模块名字-模块版本.tar.gz 和 模块名字-模块版本.readme 2个文件)
这里给几个推荐下载地址:
http://www.nic.funet.fi/pub/languages/perl/CPAN/modules/by-module/
http://www.bribes.org/perl/ppm/
下面我用JSON模块为例:
JSON-2.50.tar.gz
JSON-2.50.readme
解压JSON-2.50.tar.gz,运行perl Makefle.PL
至于这个经典提示的详细翻译,自己搞定,我就不多说了。缺少编译环境。那么第一步来了:
第一步、编译环境。
已经安装了VC6.0或者VC++或者VS IDE的直接跳过这一步。
官方推荐:MinGW,http://www.mingw.org/,下载安装,没难度。
但是有一点要注意就是安装完之后windows下要配置PATH环境变量:我的电脑\属性\高级\环境变量\系统变量\
添加: ;E:\MinGW\bin;
这里我的MinGW是安装在E盘根目录下的。我想你懂的。
第二步、DMake
光阴似箭,日月如梭。。。一转眼的功夫,你就完成了MinGW或者VC或者其他C编译器的安装了。
我们继续perl MakeFile.PL看看:
提示在简单不过了。那么我们去找DMAKE.exe吧,找到之后放在MinGW的bin目录里面。
我这里有,你要不要:DMake.rar
第三步:标准安装三步走
perl MakeFile.pl dmake dmake install ppm list
如果你还没成功。你可以找我帮你试试。但是提醒一句perlf ans都是在搜索引擎、cpan和一堆pdf下成长的。
自己摸索学到的东西和代理的成就感是不可替代的。
E:\JSON-2.50>perl Makefile.PL Set up gcc environment - 4.5.0 Welcome to JSON (v.2.50) ============================= If you install JSON::XS v.2.27, it makes JSON faster. ************************** CAUTION ************************** * This is 'JSON version 2' and there are many differences * * to version 1.xx * * Please check your applications useing old version. * * See to 'INCOMPATIBLE CHANGES TO OLD VERSION' and 'TIPS' * ************************************************************* Writing Makefile for JSON E:\JSON-2.50>dmake cp lib/JSON.pm blib\lib\JSON.pm cp lib/JSON/backportPP/Compat5005.pm blib\lib\JSON\backportPP\Compat5005.pm cp lib/JSON/backportPP/Boolean.pm blib\lib\JSON\backportPP\Boolean.pm cp lib/JSON/backportPP/Compat5006.pm blib\lib\JSON\backportPP\Compat5006.pm ...
解决路径中包含中文名的问题,有个简便的方法,通过环境变量修改ppm的默认路径即可:
C:\>set ACTIVEPERL_PPM_HOME=C:\perl\temp
C:\>ppm install your-package-name
(参考http://community.activestate.com/forum-topic/ppm-does-not-work-after-install)
按照您的方法把dmake.exe文件复制到MinGW/bin下,到窗口输入perl MakeFile.PL时又出现问题了,出现警告,然后运行dmake,问题就来了,dmake: Error: –Configuration file ‘D:\MinGW\bin\startup\starup.mk’ not found。
我是新手,完全不晓得这是咋回事额,请您指教一下,谢谢!