NPM Rebuild Blocker - PullRequest
       13

NPM Rebuild Blocker

1 голос
/ 16 июня 2019

Я запускаю raspbian на моем pi, и когда я запускаю "npm rebuild", чтобы мои установленные на узле npm пакеты красного узла появлялись на моем узле красного интерфейса. Когда я запускаю «npm rebuild», он переходит в бесконечный make-файл, чтобы попытаться собрать его из исходного кода (или, по крайней мере, он длился более часа без видимого прогресса):

 sqlite3@4.0.9 install /home/pi/.node-red/node_modules/sqlite3

 node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download 

node-pre-gyp WARN Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.0.9/node-v57-linux-arm.tar.gz 

node-pre-gyp WARN Pre-built binaries not found for sqlite3@4.0.9 and node@8.11.4 (node-v57 ABI, glibc) (falling back to source compile with node-gyp)

make: Entering directory '/home/pi/.node-red/node_modules/sqlite3/build'
  ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep 

Release/obj/gen/sqlite-autoconf-3280000/sqlite3.c

  TOUCH Release/obj.target/deps/action_before_build.stamp
  CC(target) Release/obj.target/sqlite3/gen/sqlite-autoconf-3280000/sqlite3.o

^Cdeps/sqlite3.target.mk:123: recipe for target 

'Release/obj.target/sqlite3/gen/sqlite-autoconf-3280000/sqlite3.o' failed

make: *** [Release/obj.target/sqlite3/gen/sqlite-autoconf-3280000/sqlite3.o] Interrupt

Короче говоря, я не могу использовать contrib-узлы, потому что sqlite не загружается - и это идеальное решение для моей проблемы.

Когда я запускаю "sudo npm rebuild", я сталкиваюсь с ошибками:

 sqlite3@4.0.9 install /home/pi/.node-red/node_modules/sqlite3

 node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download 

node-pre-gyp WARN Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.0.9/node-v72-linux-arm.tar.gz 

node-pre-gyp WARN Pre-built binaries not found for sqlite3@4.0.9 and node@12.4.0 (node-v72 ABI, glibc) (falling back to source compile with node-gyp) 

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/12.4.0"

gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/.node-red/node_modules/sqlite3/.node-gyp"

make: Entering directory '/home/pi/.node-red/node_modules/sqlite3/build'

make: *** No rule to make target '../.node-gyp/12.4.0/include/node/common.gypi', needed by 'Makefile'.  Stop.

make: Leaving directory '/home/pi/.node-red/node_modules/sqlite3/build'

gyp ERR! build error 

gyp ERR! stack Error: `make` failed with exit code: 2

gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)

gyp ERR! stack     at ChildProcess.emit (events.js:200:13)

gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)

gyp ERR! System Linux 4.19.42-v7+

gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" 
"build" "--fallback-to-build" "--module=/home/pi/.node-

red/node_modules/sqlite3/lib/binding/node-v72-linux-arm/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/home/pi/.node-red/node_modules/sqlite3/lib/binding/node-v72-linux-arm" "--napi_version=4" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v72"

gyp ERR! cwd /home/pi/.node-red/node_modules/sqlite3

gyp ERR! node -v v12.4.0

gyp ERR! node-gyp -v v3.8.0

gyp ERR! not ok 

node-pre-gyp ERR! build error 

node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js 

build --fallback-to-build --module=/home/pi/.node-red/node_modules/sqlite3/lib/binding/node-v72-linux-arm/node_sqlite3.node --module_name=node_sqlite3 --module_path=/home/pi/.node-red/node_modules/sqlite3/lib/binding/node-v72-linux-arm --napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)

node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/home/pi/.node-red/node_modules/node-pre-gyp/lib/util/compile.js:83:29)

node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:200:13)

node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)

node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)

node-pre-gyp ERR! System Linux 4.19.42-v7+

node-pre-gyp ERR! command "/usr/local/bin/node" "/home/pi/.node-red/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"

node-pre-gyp ERR! cwd /home/pi/.node-red/node_modules/sqlite3

node-pre-gyp ERR! node -v v12.4.0

node-pre-gyp ERR! node-pre-gyp -v v0.11.0

node-pre-gyp ERR! not ok 
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/pi/.node-red/node_modules/sqlite3/lib/binding/node-v72-linux-arm/node_sqlite3.node --module_name=node_sqlite3 --module_path=/home/pi/.node-red/node_modules/sqlite3/lib/binding/node-v72-linux-arm --napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! sqlite3@4.0.9 install: `node-pre-gyp install --fallback-to-build`

npm ERR! Exit status 1

npm ERR! 

npm ERR! Failed at the sqlite3@4.0.9 install script.

npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:

npm ERR!     /root/.npm/_logs/2019-06-15T23_16_13_885Z-debug.log

Если это поможет, я добавлю журнал отладки в следующий комментарий.

Я пытался следовать совету здесь: bcrypt@1.0.3 install: `node-pre-gyp install --fallback-to-build`

и здесь: Ошибка с npm-gyp при перестроении npm

В обоих случаях это означало следование всем советам, включая поиск правильной версии Python и попытку направить команды через платформы Python (пытаясь запустить npm в Python)

А также вход в aws для того, чтобы попробовать и скачать двоичные файлы сборки 4.0.9, я также использовал nvm для установки узла v10.16.0, v8.16.0 и v12.4.0 и запустили «npm rebuild» на всех трех платформах до идентичный вывод

Я ожидаю, что "npm rebuild" позволит мне использовать узел sql, и узел телеграмбов, так что я могу получить некоторые основные потоки, проходящие через него для моего демо подходит.

...