sudo npm install -g cncjs@latest --unsafe-perm
npm WARN deprecated @babel/polyfill@7.4.4: ?? This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.
npm WARN deprecated bcrypt-nodejs@0.0.3: bcrypt-nodejs is no longer actively maintained. Please use bcrypt or bcryptjs. See https://github.com/kelektiv/node.bcrypt.js/wiki/bcrypt-vs-brypt.js to learn more about these two options
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated i18next-express-middleware@1.8.2: replaced by i18next-http-middleware
npm WARN deprecated i18next-node-fs-backend@2.1.3: replaced by i18next-fs-backend
npm WARN deprecated i18next-xhr-backend@2.0.1: replaced by i18next-http-backend
npm WARN deprecated uuid@3.3.3: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated core-js@2.6.12: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated core-js@1.2.7: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated i18next-express-middleware@1.0.11: replaced by i18next-http-middleware
npm WARN deprecated i18next-node-fs-backend@1.0.0: replaced by i18next-fs-backend
/usr/bin/cnc -> /usr/lib/node_modules/cncjs/bin/cnc
/usr/bin/cncjs -> /usr/lib/node_modules/cncjs/bin/cncjs
> @serialport/bindings@9.2.7 install /usr/lib/node_modules/cncjs/node_modules/@serialport/bindings
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
prebuild-install WARN install No prebuilt binaries found (target=10.24.1 runtime=node arch=arm libc= platform=linux)
make: Entering directory '/usr/lib/node_modules/cncjs/node_modules/@serialport/bindings/build'
CXX(target) Release/obj.target/bindings/src/serialport.o
../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:78:69: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
^~~~~~~~~~~~~
../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:135:71: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
^~~~~~~~~~~~~~~
../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:175:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
^~~~~~~~~~~~~~
../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:215:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
^~~~~~~~~~~~~~
../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:271:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
^~~~~~~~~~~~
../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:316:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
^~~~~~~~~~~~
../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:366:76: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
^~~~~~~~~~~~~~~~~~~~
../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:412:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
^~~~~~~~~~~~~~
../src/serialport.cpp: At global scope:
../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses]
SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
^
../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses]
SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
^
In file included from ../../../nan/nan.h:58,
from ../src/./serialport.h:13,
from ../src/serialport.cpp:1:
/root/.cache/node-gyp/10.24.1/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
(node::addon_register_func) (regfunc), \
^
/root/.cache/node-gyp/10.24.1/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(serialport, init);
^~~~~~~~~~~
In file included from /root/.cache/node-gyp/10.24.1/include/node/node.h:63,
from ../../../nan/nan.h:58,
from ../src/./serialport.h:13,
from ../src/serialport.cpp:1:
/root/.cache/node-gyp/10.24.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/root/.cache/node-gyp/10.24.1/include/node/node_object_wrap.h:84:78: required from here
/root/.cache/node-gyp/10.24.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
reinterpret_cast<Callback>(callback), type);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/10.24.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../../nan/nan_object_wrap.h:65:61: required from here
/root/.cache/node-gyp/10.24.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
CXX(target) Release/obj.target/bindings/src/serialport_unix.o
In file included from /root/.cache/node-gyp/10.24.1/include/node/node.h:63,
from ../../../nan/nan.h:58,
from ../src/serialport.h:13,
from ../src/serialport_unix.cpp:2:
/root/.cache/node-gyp/10.24.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/root/.cache/node-gyp/10.24.1/include/node/node_object_wrap.h:84:78: required from here
/root/.cache/node-gyp/10.24.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
reinterpret_cast<Callback>(callback), type);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/10.24.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../../nan/nan_object_wrap.h:65:61: required from here
/root/.cache/node-gyp/10.24.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’:
../src/serialport_unix.cpp:179:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=]
snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
^~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp:179:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024
snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’:
../src/serialport_unix.cpp:89:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=]
snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp:89:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024
snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CXX(target) Release/obj.target/bindings/src/poller.o
In file included from /root/.cache/node-gyp/10.24.1/include/node/node.h:63,
from ../../../nan/nan.h:58,
from ../src/poller.cpp:1:
/root/.cache/node-gyp/10.24.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/root/.cache/node-gyp/10.24.1/include/node/node_object_wrap.h:84:78: required from here
/root/.cache/node-gyp/10.24.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
reinterpret_cast<Callback>(callback), type);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/10.24.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../../nan/nan_object_wrap.h:65:61: required from here
/root/.cache/node-gyp/10.24.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
CXX(target) Release/obj.target/bindings/src/serialport_linux.o
SOLINK_MODULE(target) Release/obj.target/bindings.node
COPY Release/bindings.node
make: Leaving directory '/usr/lib/node_modules/cncjs/node_modules/@serialport/bindings/build'
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/bmp/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js:
> https://opencollective.com/core-js
> https://patreon.com/zloirock
> https://paypal.me/zloirock
> bitcoin: bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz
Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/core/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/custom/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/gif/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/jpeg/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-blit/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-blur/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-circle/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-color/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-contain/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-cover/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-crop/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-displace/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-dither/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-fisheye/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-flip/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-gaussian/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-invert/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-mask/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-normalize/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-print/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-resize/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-rotate/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-scale/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-shadow/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugin-threshold/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/plugins/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/png/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/tiff/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/types/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/@jimp/utils/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> core-js@2.6.12 postinstall /usr/lib/node_modules/cncjs/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock
Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
> core-js@3.19.1 postinstall /usr/lib/node_modules/cncjs/node_modules/jimp/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> final-form@4.12.0 postinstall /usr/lib/node_modules/cncjs/node_modules/final-form
> node -e "console.log('\u001b[35m\u001b[1mUsing final-form at work? You can now donate to our open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/final-form/donate\u001b[0m')"
Using final-form at work? You can now donate to our open collective:
> https://opencollective.com/final-form/donate
> react-final-form@3.7.0 postinstall /usr/lib/node_modules/cncjs/node_modules/react-final-form
> node ./scripts/postinstall.js || exit 0
Use react-final-form at work? Consider supporting our development efforts at opencollective.com/final-form
> styled-components@3.4.10 postinstall /usr/lib/node_modules/cncjs/node_modules/styled-components
> node ./scripts/postinstall.js || exit 0
Use styled-components at work? Consider supporting our development efforts at opencollective.com/styled-components
> cncjs@1.9.23 postinstall /usr/lib/node_modules/cncjs
> opencollective postinstall
Thanks for installing cncjs
Please consider donating to our open collective
to help us maintain this package.
Number of contributors: 0
Number of backers: 20
Annual budget: $673
Current balance: $1,525
Donate: https://opencollective.com/cncjs/donate
npm WARN react-i18next@10.7.0 requires a peer of react@>= 16.8.0 but none is installed. You must install peer dependencies yourself.
npm WARN react-datepicker@1.5.0 requires a peer of react@^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN react-datepicker@1.5.0 requires a peer of react-dom@^16.0.0 but none is installed. You must install peer dependencies yourself.
+ cncjs@1.9.23
added 807 packages from 609 contributors in 401.915s
在阅读了很多安装说明并且几乎所有安装说明都失败后,我明白了!我想和你分享我过去的 4 个小时:
2021-05-07-raspios-buster-armhf-lite.img
没有更新也没有升级
卷曲-sL https://deb.nodesource.com/setup_10.x | sudo -E bash –
sudo apt install -y nodejs build-essential git
sudo npm install -g npm@6.14.15
sudo npm install -g cncjs@latest –unsafe-perm
sudo npm install -g pm2 pm2
startup
sudo env PATH= $PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi –hp /home/pi pm2
start $(which cncjs) — –port 8000 -m /tinyweb:/ home/pi/tinyweb pm2
保存pm2
列表
须藤重启
版本
你如何安装CNCjs?
数控系统
硬件
操作系统
仍然有成吨的垃圾: