繁体   English   中英

私有Linux托管上的Node.js应用程序

[英]Node.js application on private linux hosting

我有运行Red Hat OS的专用linux主机。

我按照链接安装了Node.js(10.4.0)和npm。 我还安装了git并克隆了git存储库。 我面临着3个问题

问题1

如果我在根文件夹上执行节点-v ,则给我v0.11.9,如果我在根目录上执行npm -v ,则给我1.3.15

但是,如果我执行〜/ nodejs / bin / node -v,它将给出正确的版本v10.4.0;如果我执行〜/ nodejs / bin / npm -v,则将给出错误:

/home/realedu7/nodejs/lib/node_modules/npm/bin/npm-cli.js:79
      let notifier = require('update-notifier')({pkg})
          ^^^^^^^^
SyntaxError: Unexpected identifier
    at exports.runInThisContext (vm.js:69:16)
    at Module._compile (module.js:432:25)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:349:32)
    at Function.Module._load (module.js:305:12)
    at Function.Module.runMain (module.js:490:10)
    at startup (node.js:123:16)
    at node.js:1027:3

下面是显示问题的终端的图像: 在此处输入图片说明

update-notifier有什么问题?

问题2

当我尝试通过进入realedu-app项目文件夹并运行我的应用程序时

node app.js

它给了我以下错误:

module.js:333
    throw err;
          ^
Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js:331:15)
    at Function.Module._load (module.js:273:25)
    at Module.require (module.js:357:17)
    at require (module.js:373:17)
    at Object.<anonymous> (/home/realedu7/realedu-app/app.js:1:77)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:349:32)
    at Function.Module._load (module.js:305:12)
    at Function.Module.runMain (module.js:490:10)

显然,我的节点未安装Express模块​​。 我该如何解决?

我建议您使用官方文档来安装和设置node和npm

问题1:较旧的nmp库和较新的npm库之间存在冲突。 您的新npm仍指向较旧版本的node(不支持let ),您需要设置新nodejs的路径才能解决此问题

问题2:您需要安装代码中使用的所有模块,如果已经在package.json添加了, package.json需要运行npm install否则必须指定模块名称,例如npm install express

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM