我已经在我的本地机器(Linux Mint 15)上安装了Apache Web服务器,并且一切正常,直到我尝试安装npm / nodejs。
我得到这个错误,每当我尝试启动Apache –
module.js:340 throw err; ^ Error: Cannot find module '/LANG=en_US.UTF-8' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:901:3
我已经搜遍互联网find解决这个问题,并再次使Apache的工作,但徒劳无功。
我的问题是 – 我不需要nodejs。 我已经使用apt-get删除并卸载了npm和node 。 我已经手动从/usr/lib和~删除了所有node_modules和node目录。 但问题依然存在。
我检查了每个.conf和.load文件为apache,仍然不能找出哪里/如何/为什么Apache加载module.js和node.js文件。
有人可以帮忙吗?
编辑:
我的mods-enabled文件夹的内容:
access_compat.load authz_user.load filter.load php5.load alias.conf autoindex.conf mime.conf setenvif.conf alias.load autoindex.load mime.load setenvif.load auth_basic.load deflate.conf mpm_prefork.conf status.conf authn_core.load deflate.load mpm_prefork.load status.load authn_file.load dir.conf negotiation.conf authz_core.load dir.load negotiation.load authz_host.load env.load php5.conf
好的,我终于到了这个底了!
首先,这个问题(我怀疑)是一个损坏的/usr/bin/env文件,它被编辑(可能通过npm / nodejs安装),通过额外的shell脚本加载许多(很多很多)其他文件,看起来与节点相关。
其次,apache2安装的mpm_prefork也被破坏 – 这可能是我的错,试图find/修复上述错误,我可能做了一些事情!
解决的办法是重新安装一切 –
sudo apt-get install --reinstall coreutils – 修复/usr/bin/env文件。
sudo apt-get purge apache2 apache2-utils apache2.2-bin
sudo apt-get autoremove – 卸载并清理现有的apache2安装
sudo apt-get install apache2 – 全新安装apache2
如果有人按照本指南,不要忘记备份您的虚拟主机configuration或自定义php.iniconfiguration,如果有的话。