Cloudlinux NodeJS 要求将应用程序的节点模块存储在名为“node_modules”的符号链接指向的单独文件夹(虚拟环境)中

Posted

技术标签:

【中文标题】Cloudlinux NodeJS 要求将应用程序的节点模块存储在名为“node_modules”的符号链接指向的单独文件夹(虚拟环境)中【英文标题】:Cloudlinux NodeJS demands to store node modules for application in separate folder (virtual environment) pointed by symlink called "node_modules" 【发布时间】:2021-09-08 16:39:26 【问题描述】:

我希望将我的 Nodejs/TypeScript Web 应用程序部署到我的 cpanel 共享主机。但是,我收到一个错误:

*

Cloudlinux NodeJS Selector 要求存储节点模块 指向的单独文件夹(虚拟环境)中的应用程序 符号链接称为“node_modules”。这就是为什么应用程序不应该 在应用程序根目录中包含具有此类名称的文件夹/文件* 我创建了一个 nodejs 应用程序。最终的 nodejs/typescript 文件夹文件被移动到 nodejs 应用程序目录。在复制我的虚拟环境并通过运行 ssh 从本地终端运行它之后,我还能够安装 TypeScript 以及运行 yarn install。

问题是,从我的 nodejs 应用程序端,我不能从我的虚拟终端“运行任何脚本”或“npm 安装”。 但是纱线运行得很好。 我还知道在我的根托管路径中创建了另一个文件夹,称为 /nodevenv/ 我的域/子域名的另一个实例所在的位置。 节点可执行文件夹/文件。 我不知道的是,它与运行 npm 脚本有什么关系吗?再次,它与我的应用程序路径有什么关系吗?

我想不通的另一件奇怪的事情是如何同时运行前端和后端。它们都在我的本地机器上运行良好。

我是否从主域为服务器端和前端创建子域? 我希望它们一起运行,因为它们在我的本地主机的同一端口上运行:8080。 如何将它们设置为在共享主机的同一端口上运行 我所做的是,从前端 package.json 文件创建一个代理,如下所示: "proxy": "example.com" 它在本地机器上运行良好。

【问题讨论】:

【参考方案1】:

删除node_modules 文件夹。并尝试再次运行您的命令。

【讨论】:

以上是关于Cloudlinux NodeJS 要求将应用程序的节点模块存储在名为“node_modules”的符号链接指向的单独文件夹(虚拟环境)中的主要内容,如果未能解决你的问题,请参考以下文章

CloudLinux 为 CentOS 8 用户提供支持至 2025 年底

CloudLinux将其CentOS衍生项目Lenix更名为AlmaLinux

Mysql 数据库无法使用“loclhost”连接,但可以使用“127.0.0.1”Centos 7 (Cloudlinux) 连接

AngularJS、nodeJS、ReferenceError:未定义要求

Visual Studio 代码、NodeJS 和要求

NodeJS + CoffeeScript,根据要求渲染 CoffeeScript 编译的 js