Node.js Ubuntu 14.04上的平均堆栈突然停止工作

Node.js Ubuntu 14.04上的平均堆栈突然停止工作,node.js,gruntjs,npm,ubuntu-14.04,mean-stack,Node.js,Gruntjs,Npm,Ubuntu 14.04,Mean Stack,好吧,这太臭了,这是独家新闻: 我正在帮助一位朋友使用MEAN stack(mongodb、express、angular和nodejs)进行一个网站项目,我正在运行Ubuntu 14.04。我对Linux相当精通,而且我是一名经验丰富的web开发人员,但我的大部分经验都是使用LAMP stack。直到今天晚上,我一直在做这个卑鄙的堆栈项目。今天晚上,我的朋友又回到了开发中,我通过运行npm更新帮助他们更新Mac上的节点环境(他们主要做前端HTML/CSS,我做完整的堆栈),项目在他们的comp

好吧,这太臭了,这是独家新闻:

我正在帮助一位朋友使用MEAN stack(mongodb、express、angular和nodejs)进行一个网站项目,我正在运行Ubuntu 14.04。我对Linux相当精通,而且我是一名经验丰富的web开发人员,但我的大部分经验都是使用LAMP stack。直到今天晚上,我一直在做这个卑鄙的堆栈项目。今天晚上,我的朋友又回到了开发中,我通过运行npm更新帮助他们更新Mac上的节点环境(他们主要做前端HTML/CSS,我做完整的堆栈),项目在他们的comp上运行良好。考虑到我可以同样轻松地刷新节点环境,使其更具最新性,我尝试了同样的方法:

我试图更新我的节点和npm环境,因为我已经更新了几个月了(我知道这很糟糕,我搞砸了,我承认),我想我是在使用node.js v 0.3.2。什么的,没想到在混乱发生之前检查版本号。但是现在我得到了一组疯狂的随机错误,未满足的依赖项,我无法通过使用npm安装来获取它们来解决未满足的依赖项,我无法让grunt启动开发服务器,我尝试过删除节点和npm并重新安装(现在运行的是nodejs 0.10.25)已经运行了apt get update、apt get install nodejs、apt get install nodejs dev、,npm更新、npm安装等,但无效

我超越了困顿和挫折,请帮助我!下面是我得到的一些错误/缺少依赖项的示例:

module.js:340
throw err;
      ^
Error: Cannot find module './helpers'
 at Function.Module._resolveFilename (module.js:338:15)
 at Function.Module._load (module.js:280:25)
 at Module.require (module.js:364:17)
 at require (module.js:380:17)
 at Object.<anonymous>            
 at Module._compile (module.js:456:26)
 at Object.Module._extensions..js (module.js:474:10)
 at Module.load (module.js:356:32)
 at Function.Module._load (module.js:312:12)
 at Module.require (module.js:364:17)
 npm ERR! weird error 8
 npm WARN This failure might be due to the use of legacy binary "node"
 npm WARN For further explanations, please read
 /usr/share/doc/nodejs/README.Debian
 npm ERR! not ok code 0
module.js:340
犯错误;
^
错误:找不到模块“./helpers”
在Function.Module.\u解析文件名(Module.js:338:15)
在Function.Module.\u加载(Module.js:280:25)
at Module.require(Module.js:364:17)
根据需要(模块js:380:17)
反对。
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
at Module.require(Module.js:364:17)
npm错误!奇怪的错误8
npm警告此故障可能是由于使用了旧的二进制“节点”
npm警告如需进一步解释,请阅读
/usr/share/doc/nodejs/README.Debian
npm错误!不正常代码0
当我试着运行sudo grunt时,我得到了:

Loading "jshint.js" tasks...ERROR
>> Error: Cannot find module './name-stack.js'
Loading "grunt-karma.js" tasks...ERROR
>> Error: Cannot find module 'depd'
Warning: Task "jshint" not found. Used --force, continuing.

Running "concurrent:default" (concurrent) task
Loading "jshint.js" tasks...ERROR
>> Error: Cannot find module './name-stack.js'
Loading "jshint.js" tasks...ERROR
>> Error: Cannot find module './name-stack.js'
Loading "grunt-karma.js" tasks...ERROR
Loading "grunt-karma.js" tasks...ERROR
>> Error: Cannot find module 'depd'
>> Error: Cannot find module 'depd'

[Error:           /home/user/Projects/detrashed/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build/Release/bson.node: invalid ELF header]
js-bson: Failed to load c++ bson extension, using pure JS version
[Error: /home/user/Projects/detrashed/node_modules/connect-  mongo/node_modules/mongodb/node_modules/bson/build/Release/bson.node: invalid ELF header]
js-bson: Failed to load c++ bson extension, using pure JS version

module.js:340
 throw err;
      ^
Error: Cannot find module './collection/batch/unordered'
  at Function.Module._resolveFilename (module.js:338:15)
  at Function.Module._load (module.js:280:25)
  at Module.require (module.js:364:17)
  at require (module.js:380:17)
  at Object.<anonymous> (/home/user/Projects/detrashed/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/collection.js:21:17)
  at Module._compile (module.js:456:26)
  at Object.Module._extensions..js (module.js:474:10)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:312:12)
  at Module.require (module.js:364:17)
加载“jshint.js”任务…错误
>>错误:找不到模块“./name stack.js”
正在加载“grunt karma.js”任务…错误
>>错误:找不到模块“depd”
警告:未找到任务“jshint”。使用-强制,继续。
运行“并发:默认”(并发)任务
正在加载“jshint.js”任务…错误
>>错误:找不到模块“./name stack.js”
正在加载“jshint.js”任务…错误
>>错误:找不到模块“./name stack.js”
正在加载“grunt karma.js”任务…错误
正在加载“grunt karma.js”任务…错误
>>错误:找不到模块“depd”
>>错误:找不到模块“depd”
[错误:/home/user/Projects/detrashed/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build/Release/bson.node:ELF头无效]
JS BSON:使用纯JS版本加载C++ BSON扩展失败
[错误:/home/user/Projects/detrashed/node_modules/connect-mongo/node_modules/mongodb/node_modules/bson/build/Release/bson.node:ELF头无效]
JS BSON:使用纯JS版本加载C++ BSON扩展失败
module.js:340
犯错误;
^
错误:找不到模块“./collection/batch/unordered”
在Function.Module.\u解析文件名(Module.js:338:15)
在Function.Module.\u加载(Module.js:280:25)
at Module.require(Module.js:364:17)
根据需要(模块js:380:17)
反对。(/home/user/Projects/detrashed/node_modules/connect mongo/node_modules/mongodb/lib/mongodb/collection.js:21:17)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
at Module.require(Module.js:364:17)

真尴尬。任何关于如何取消我的nodejs环境的帮助或见解都将非常有用,因为我即将脱发。提前谢谢

首先,我很抱歉你陷入这样的困境。部分原因是
npm update
中的一个bug--
update
不尊重语义版本控制,但不幸的是,它还没有被修复,并且一直困扰着人们。因此,任何人都不应该运行
npm update
,尤其是
npm update-g

此外,Debian/Ubuntu的官方软件包与当前版本相比有点滞后,而且在Debian提供的
节点
中的
npm安装期间,存在一些恶劣的竞争条件。幸运的是,NodeSource提供了一些软件包<>

sudo apt get--清除删除nodejs nodejs遗留节点
curl-sLhttps://deb.nodesource.com/setup |sudo bash-
sudo apt get安装-y nodejs nodejs legacy
节点-v

这将获得最新的
节点
,0.10.35

然后更新
npm

sudo npm安装-gnpm@latest
npm-v

这将为您提供最新的
npm
,2.1.17(或更高版本)

现在恢复您的项目。首先,我将吹走节点模块并运行
npm安装
。如果您从中得到任何错误,请发布完整的npm-debug.log文件作为要点,并在此处添加链接

您可能需要重新安装全局软件包
bower
grunt cli
,以便在您的路径中安装这些软件包:

sudo npm i-g bower grunt cli


关于
npm
需要注意的一点是,几乎所有的软件包都是非全局安装的;如果您希望在命令行路径中安装程序包,请仅在全局范围内安装该程序包。

能否链接您的package.json?谢谢!非常感谢。非常感谢。我将在这里添加一些轻微的错误更正:在Ubuntu上,当我尝试运行
sudo apt get install-y nodejs nodejs legacy
时,它不喜欢nodejs legacy,所以我放弃了它,node-v现在显示为10.35,