我想在Windows 10中安装并要求“fs”,“path”和“js-yaml”,但只有“js-yaml”导致“Error找不到模块”

问题描述 投票:0回答:1

很高兴见到你。我是计算机方面的初学者,现在这里很享受你的复杂问答。这是我在StackOverFlow中的第一个问题。当我使用不常见的符号和不自然的英语时,请原谅我。

我花了几个小时在Node-Red(Node.js?)中安装外部模块。我想在Windows 10中安装三个---“fs”,“path”和“js-yaml”---但我的麻烦是只有“js-yaml”导致失败,尽管其他人可以成功安装和使用。 我尝试了以下命令......

C:\windows\system32>npm –g install js-yaml
C:\windows\system32>npm –g install fs
C:\windows\system32>npm –g install path

这些命令创建了模块,但只有js-yaml的行为与其他两个不同。在(C:~~~ / .node-red /)setting.js中向functionGlobalContext添加适当的键和属性(如“fs:require('fs')”)之后,我尝试启动Node-Red。当我命令

C:\windows\system32> node-red

它仅在js-yaml上返回以下错误,并且node-red没有打开。当我从setting.js中删除术语“jsyaml:require('js-yaml')”时,它成功运行。

Error loading C:~~~/.node-red/setteing.js
Error cannot find module “js-yaml”

我将列出可能与我的问题有关的报告。 *另外两个(fs,path)只在目录“C:~~~ / npm / node-modules”中创建了文件夹,但是js-yaml在“C:~~~”中创建了另一个js-yaml文件。 / NPM”。 *也许我在安装命令之前在每个目录中尝试了“npm link”命令。并且在C:~~~ / .node-red目录中的npm链接[模块名称]。 *我从github下载了外部模块(node-red-contrib-postgres),它可能有fs.js和path.js ?? *它没有改变结果,将“js-yaml”术语添加到(C:~~~ / .node-red /)package.json中的“dependency”中。 *我添加C:~~~ / npm.node_modules(由“npm -g bin”命令获取)到环境变量“PATH”

node.js npm node-red
1个回答
0
投票

我建议你在本地安装,而不是全局安装。

当您使用-g全局安装npm模块时,它们存储在%APPDATA%\npm下,这是用户特定的,并且Node Red可能无权访问它,具体取决于它的运行方式。

在“共享Node-RED between users”和Running on Windows下查看npm-folders以获取更多信息。

或者,您也可以将实际路径放在functionGlobalContext中,这可能对您有用。沿着:

js-yaml: require(‘/the/path/to/js-yaml’)
© www.soinside.com 2019 - 2024. All rights reserved.