Installation of node-red-contrib-mpi-s7 faild with warning

If start npm installation I get followning output and can't use the node on web frontend.
If someone who nows the problem and could help to fix it?

root@iot2000:~# npm install node-red-contrib-mpi-s7

usb@1.6.3 install /home/root/node_modules/usb
prebuild-install --verbose || node-gyp rebuild

prebuild-install info begin Prebuild-install version 5.3.6
prebuild-install info looking for cached prebuild @ /home/root/.npm/_prebuilds/9 b7ce5-usb-v1.6.3-node-v57-linux-ia32.tar.gz
prebuild-install http request GET wnload/v1.6.3/usb-v1.6.3-node-v57-linux-ia32.tar.gz
prebuild-install http 404 1.6.3/usb-v1.6.3-node-v57-linux-ia32.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=8.16.0 runtime= node arch=ia32 libc= platform=linux)

npm WARN saveError ENOENT: no such file or directory, open '/home/root/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/home/root/package.json'
npm WARN root No description
npm WARN root No repository field.
npm WARN root No README data
npm WARN root No license field.

  • node-red-contrib-mpi-s7@1.0.0-beta.1
    added 65 packages from 48 contributors and audited 65 packages in 774.86s
    found 0 vulnerabilities

Welcome to the forum @DerD74

You should be in your .node-red folder if you need to install a node manually using npm. However it is usually much easier to do it from the Manage Palette option in the menu in the node-red editor.

Hi Colin,
Thank you for fast reply. To install the node from Manage Pallete option it was my first try, but it dosn't work. Thats why I try to install manually. now I have the Problem, that Node is displayed in Pallette as installed but not activateted and it's impossible to activate the Node or to uninstall.

Did it install ok when you did it from your .node-red folder?

Have you restarted node-red and refreshed the browser page?

Stop node-red and restart it in a terminal and post the output here, that may give us useful information. When pasting it here (copy/paste please, not screenshot) use the </> button at the top of the forum text entry window and paste it in.

Having said that I am not sure the node does what you think it might do. It appears to consist of only a config node so you can't actually place it on a flow.

@gfcittolin perhaps you can help @DerD74

the installation seems to be okay with the same warnings..
Node Red is starting now in terminal, in following you will find output till now

root@iot2000:/usr/lib/node/node-red# node red
5 Apr 15:07:49 - [info]

Welcome to Node-RED

5 Apr 15:07:49 - [info] Node-RED version: v0.20.7
5 Apr 15:07:49 - [info] Node.js  version: v8.16.0
5 Apr 15:07:49 - [info] Linux 4.4.185-cip35 ia32 LE
5 Apr 15:08:14 - [info] Loading palette nodes
5 Apr 15:08:31 - [warn] rpi-gpio : Raspberry Pi specific node set inactive
5 Apr 15:08:31 - [warn] rpi-gpio : Cannot find Pi RPi.GPIO python library
5 Apr 15:09:51 - [info] Dashboard version 2.15.5 started at /ui
5 Apr 15:10:04 - [warn] ------------------------------------------------------
5 Apr 15:10:04 - [warn] [node-red-contrib-mpi-s7/mpi-s7] SyntaxError: Unexpected token =
5 Apr 15:10:04 - [warn] ------------------------------------------------------
5 Apr 15:10:04 - [info] Settings file  : /home/root/.node-red/settings.js
5 Apr 15:10:04 - [info] Context store  : 'default' [module=memory]
5 Apr 15:10:04 - [info] User directory : /home/root/.node-red
5 Apr 15:10:04 - [warn] Projects disabled : editorTheme.projects.enabled=false
5 Apr 15:10:04 - [info] Flows file     : /home/root/.node-red/flows_iot2000.json
5 Apr 15:10:05 - [info] Creating new flow file
5 Apr 15:10:06 - [warn]

Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.

5 Apr 15:10:06 - [info] Starting flows
5 Apr 15:10:06 - [info] Started flows
5 Apr 15:10:06 - [info] Server now running at

you right with your note about my expection what the node do. I thought that I can place the node in to my flow.

It will not help that you are running an ancient version of node-red, an obsolete version of nodejs and you are running as root, which is not recommended. If you are running a Debian based Linux then you can update using the script at Running on Raspberry Pi : Node-RED, which works for Debian, Ubuntu and Raspbian.

I should have said, if you want to remove it, but can't from Manage Palette then you can do it from the command line, again from your .node-red folder
npm remove node-red-contrib-mpi-s7
then restart node-red and refresh the browser page.

Okay for your Information, I work on the iot2040 from Siemens and I am beginner in this field. It's possible to use the script on iot2040 to for updating node-red and nodjs?

No, but if you search the forum for that device then I think there have been others attempting to get round the problem that it comes with obsolete s/w. I don't remember how successful they were.

Not very.

Some excuse about the hardware architecture & very small team without the resource but essentially (imo) it is abandonware.

Typically I recommend they throw it in a skip (it is literally a security risk sitting on node v8) and fit a Ā£35 raspberry pi.

1 Like

Sorry for the late reply, and thanks Colin for calling out!

The node you actually want is node-red-contrib-s7 for communicating with Siemens S7 PLCs. You'll then be able to communicate through MPI with node-red-contrib-mpi-s7 from there then. But be warned that there are lots of system requirements in order to be able to use it (including current versions of Node-RED and Node.JS, as pointed out). That's actually one of the reasons why this has been split from the main node-red-contrib-s7 in the first place.

Hi gfcittolin,
thx for reply, I still have problems to upgrade my node-red and node.js on my iot2040. I get error messages if I start "npm install -g node" hereinafter you will find logfile of installation:

0 warn npm npm does not support Node.js v8.16.0
1 warn npm You should probably upgrade to a newer version of node as we
2 warn npm can't make any promises that npm will work with this version.
3 warn npm You can find the latest version at
4 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install', '-g', 'node' ]
5 info using npm@7.8.0
6 info using node@v8.16.0
7 timing npm:load:whichnode Completed in 83ms
8 timing config:load:defaults Completed in 122ms
9 timing config:load:file:/usr/lib/node_modules/npm/npmrc Completed in 65ms
10 timing config:load:builtin Completed in 71ms
11 timing config:load:cli Completed in 210ms
12 timing config:load:env Completed in 15ms
13 timing config:load:file:/usr/lib/.npmrc Completed in 8ms
14 timing config:load:project Completed in 46ms
15 timing config:load:file:/home/root/.npmrc Completed in 4ms
16 timing config:load:user Completed in 7ms
17 timing config:load:file:/usr/etc/npmrc Completed in 2ms
18 timing config:load:global Completed in 6ms
19 timing config:load:validate Completed in 12ms
20 timing config:load:setEnvs Completed in 68ms
21 timing config:load Completed in 567ms
22 timing npm:load:configload Completed in 576ms
23 timing npm:load:setTitle Completed in 7ms
24 timing npm:load:setupLog Completed in 112ms
25 timing npm:load:cleanupLog Completed in 163ms
26 timing npm:load:configScope Completed in 0ms
27 timing npm:load:projectScope Completed in 9ms
28 timing npm:load Completed in 1153ms
29 timing config:load:flatten Completed in 157ms
30 timing arborist:ctor Completed in 69ms
31 timing idealTree:init Completed in 650ms
32 timing idealTree:userRequests Completed in 161ms
33 silly idealTree buildDeps
34 silly fetch manifest node@*
35 http fetch GET 304 6190ms (from cache)
36 silly placeDep ROOT node@15.12.0 Symbol(OK) for:  want: *
37 silly fetch manifest node-bin-setup@^1.0.0
38 http fetch GET 304 920ms (from cache)
39 timing idealTree:#root Completed in 8224ms
40 silly placeDep node_modules/node node-bin-setup@1.0.6 Symbol(OK) for: node@15.12.0 want: ^1.0.0
41 timing idealTree:node_modules/node Completed in 113ms
42 timing idealTree:node_modules/node/node_modules/node-bin-setup Completed in 2ms
43 timing idealTree:buildDeps Completed in 8438ms
44 timing idealTree:fixDepFlags Completed in 73ms
45 timing idealTree Completed in 9432ms
46 timing reify:loadTrees Completed in 9642ms
47 timing reify:diffTrees Completed in 103ms
48 silly reify moves {}
49 timing reify:retireShallow Completed in 13ms
50 timing reify:createSparse Completed in 110ms
51 timing reify:loadBundles Completed in 0ms
52 http fetch POST 200 1278ms
53 timing auditReport:getReport Completed in 1306ms
54 timing auditReport:init Completed in 1ms
55 timing reify:audit Completed in 1360ms
56 timing reifyNode:node_modules/node/node_modules/node-bin-setup Completed in 1303ms
57 timing reify:rollback:createSparse Completed in 270ms
58 timing reify:rollback:retireShallow Completed in 1ms
59 timing command:install Completed in 12522ms
60 verbose stack Error: EEXIST: file already exists
60 verbose stack     at failEEXIST (/usr/lib/node_modules/npm/node_modules/bin-links/lib/check-bin.js:46:32)
60 verbose stack     at failEEXIST (/usr/lib/node_modules/npm/node_modules/bin-links/lib/check-bin.js:46:32)
60 verbose stack     at handleReadLinkError (/usr/lib/node_modules/npm/node_modules/bin-links/lib/check-bin.js:26:5)
60 verbose stack     at (/usr/lib/node_modules/npm/node_modules/bin-links/lib/check-bin.js:30:18)
60 verbose stack     at <anonymous>
61 verbose cwd /usr/lib/node
62 verbose Linux 4.4.185-cip35
63 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "node"
64 verbose node v8.16.0
65 verbose npm  v7.8.0
66 error code EEXIST
67 error path /usr/bin/node
68 error EEXIST: file already exists
69 error File exists: /usr/bin/node
70 error Remove the existing file and try again, or run npm
71 error with --force to overwrite files recklessly.
72 verbose exit 1

Node version is too old.
See this

It was I was referring to before...

1 Like