Nodejs和npm错误.模块缺失

dro*_*aak 10 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)
Run Code Online (Sandbox Code Playgroud)

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

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

nodejs -v 给出v0.10.30

`npm -v给出1.4.21

gulp 3.8.7

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

rya*_*ain 13

尝试更新全局gulp安装:

sudo npm install --global gulp@latest
Run Code Online (Sandbox Code Playgroud)


Sam*_*kes 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
Run Code Online (Sandbox Code Playgroud)

现在,您将拥有一个最新的节点 (0.10.35),但有一个过时的npm. 升级你的npm

npm install -g npm@latest
Run Code Online (Sandbox Code Playgroud)

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

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