Nodejs和npm错误。模块缺失

时间:2014-08-10 07:42:01

标签: node.js npm

module.js:340
throw err;
      ^
Error: Cannot find module 'vinyl'
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/morpheyesh/debugall/web-starter-kit/node_modules/gulp/node_modules/gulp-util/lib/File.js:1:80)
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)

我有node.js的主要问题。我尝试运行任何nodejs应用程序或gulp,我得到这个错误,我尝试安装每个模块,我不断得到相同的错误,它需要一个新的模块。无论如何我可以安装所有模块吗?

另外,我已经通过npm安装了nodejs?如何安装系统? Gulp已经安装在全系统(全球)。导致此错误的原因是什么?

nodejs -v给出v0.10.30

`npm -v给出1.4.21

gulp 3.8.7

我正在使用Google网络入门套件。我使用apt-get安装了nodejs,然后安装了sass,然后安装了gulp,然后是npm。有没有办法我可以删除所有这些并在系统范围内安装所有这些?

4 个答案:

答案 0 :(得分:13)

尝试更新全局gulp安装:

sudo npm install --global gulp@latest

答案 1 :(得分:3)

听起来好像一切都在那里(是吗?)FUBAR。如果你还没有解决这些问题,请按照我的建议进行解决。

首先,官方(Debian / Ubuntu)软件包有点落后于最新node。我建议卸载软件包nodejsnodejs-legacy并按照此处的说明获取最新版本(由nodesource打包和发布):https://github.com/nodesource/distributions#usage-instructions

curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

现在您将拥有一个最近的节点(0.10.35)但是已经过时了npm。升级您的npm

npm install -g npm@latest

事情应该适合你;您应该能够在项目目录中运行npm install,并且所有依赖项都将正确安装。

要注意的一件事是,永远不会运行npm updatenpm update -g。正如人们可能认为的那样,这不会更新当前(或所有全局)包。

答案 2 :(得分:0)

尝试安装gulp所需的所有插件:

npm install gulp-jshint gulp-sass gulp-concat gulp-uglify gulp-rename --save-dev 

来源:http://travismaynard.com/writing/getting-started-with-gulp

答案 3 :(得分:0)

对于我卸载gulp然后重新安装它工作正常。这与节点v5.0.0

有关
sudo npm uninstall -g gulp

npm install -g gulp