kalibannez Posted January 7, 2019 Share Posted January 7, 2019 Здравствуйте! Мне потребовалось установить пакет из npm, для этого я установил node и node-npm через opkg, успешно, все работает. Далее я пытаюсь установить node-gyp через npm, выполнив команду sudo npm install -g --unsafe-perm node-gyp все завершается успешно, пакет node-gyp появляется в /opt/lib/node_modules/node-gyp, в /opt/bin появляется правильная символьная ссылка на исполняемый файл node-gyp. Однако, при попытке запустить node-gyp я получаю: root@GigaDisk:/opt/bin# node-gyp /opt/bin/sh: node-gyp: not found При этом автокомплит работает, система о node-gyp вроде как знает: root@GigaDisk:/opt/bin# which node-gyp /opt/bin/node-gyp Помогите, пожалуйста, разобраться в чем проблема. Quote Link to comment Share on other sites More sharing options...
TheBB Posted January 7, 2019 Share Posted January 7, 2019 4 часа назад, kalibannez сказал: Помогите, пожалуйста, разобраться в чем проблема. "чистая установка" Скрытый текст ~ # ~ # opkg install node-npm Installing node-npm (v8.12.0-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/node-npm_v8.12.0-1_mipsel-3.4.ipk Installing node (v8.12.0-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/node_v8.12.0-1_mipsel-3.4.ipk Configuring node. Configuring node-npm. ~ # ~ # npm install -g --unsafe-perm node-gyp /opt/bin/node-gyp -> /opt/lib/node_modules/node-gyp/bin/node-gyp.js + node-gyp@3.8.0 added 97 packages from 67 contributors in 79.968s ~ # ~ # node-gyp --help -sh: node-gyp: not found ~ # "проверка теории" Скрытый текст ~ # ~ # find /opt/lib/node_modules/ -type f | xargs -r grep "^#!.*bash" /opt/lib/node_modules/node-gyp/node_modules/dashdash/etc/dashdash.bash_completion.in:#!/bin/bash /opt/lib/node_modules/node-gyp/node_modules/ajv/scripts/travis-gh-pages:#!/usr/bin/env bash /opt/lib/node_modules/node-gyp/node_modules/ajv/scripts/publish-built-version:#!/usr/bin/env bash /opt/lib/node_modules/node-gyp/test/docker.sh:#!/bin/bash /opt/lib/node_modules/npm/node_modules/dashdash/etc/dashdash.bash_completion.in:#!/bin/bash /opt/lib/node_modules/npm/node_modules/lockfile/gen-changelog.sh:#!/bin/bash /opt/lib/node_modules/npm/node_modules/ajv/scripts/travis-gh-pages:#!/usr/bin/env bash /opt/lib/node_modules/npm/lib/utils/completion.sh:#!/bin/bash ~ # find /opt/lib/node_modules/ -type f | xargs -r grep "^#!.*node" /opt/lib/node_modules/node-gyp/node_modules/which/bin/which:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/rimraf/bin.js:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/sshpk/bin/sshpk-verify:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/sshpk/bin/sshpk-sign:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/sshpk/bin/sshpk-conv:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/mkdirp/bin/cmd.js:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/performance-now/test/scripts/initial-value.coffee:#!/usr/bin/env ./node_modules/.bin/coffee /opt/lib/node_modules/node-gyp/node_modules/performance-now/test/scripts/delayed-call.coffee:#!/usr/bin/env ./node_modules/.bin/coffee /opt/lib/node_modules/node-gyp/node_modules/performance-now/test/scripts/delayed-require.coffee:#!/usr/bin/env ./node_modules/.bin/coffee /opt/lib/node_modules/node-gyp/node_modules/performance-now/test/scripts/difference.coffee:#!/usr/bin/env ./node_modules/.bin/coffee /opt/lib/node_modules/node-gyp/node_modules/semver/bin/semver:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/uuid/bin/uuid:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/ajv/scripts/info:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/nopt/bin/nopt.js:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/node_modules/nopt/examples/my-program.js:#!/usr/bin/env node /opt/lib/node_modules/node-gyp/bin/node-gyp.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/which/bin/which:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/rimraf/bin.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/qrcode-terminal/bin/qrcode-terminal.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/sshpk/bin/sshpk-verify:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/sshpk/bin/sshpk-sign:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/sshpk/bin/sshpk-conv:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/node-gyp/node_modules/semver/bin/semver:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/node-gyp/node_modules/nopt/examples/my-program.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/is-ci/bin.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/mkdirp/bin/cmd.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/semver/bin/semver:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/errno/cli.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/errno/build.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/uuid/bin/uuid:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/yargs/README.md:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/yargs/README.md:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/ajv/scripts/info:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/rc/cli.js:#! /usr/bin/env node /opt/lib/node_modules/npm/node_modules/JSONStream/bin.js:#! /usr/bin/env node /opt/lib/node_modules/npm/node_modules/opener/bin/opener-bin.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/nopt/bin/nopt.js:#!/usr/bin/env node /opt/lib/node_modules/npm/node_modules/nopt/examples/my-program.js:#!/usr/bin/env node /opt/lib/node_modules/npm/bin/npx-cli.js:#!/opt/bin/node /opt/lib/node_modules/npm/bin/npm-cli.js:#!/opt/bin/node ~ # find /opt/lib/node_modules/ -type f | xargs -r grep "^#!.*python" /opt/lib/node_modules/node-gyp/gyp/samples/samples:#!/usr/bin/python /opt/lib/node_modules/node-gyp/gyp/setup.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/input_test.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/common_test.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/__init__.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/tools/pretty_vcproj.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/tools/graphviz.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/tools/pretty_gyp.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/tools/pretty_sln.py:#!/usr/bin/env python /opt/lib/node_modules/node-gyp/gyp/gyp_main.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples:#!/usr/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/setup.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/graphviz.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py:#!/usr/bin/env python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py:#!/usr/bin/env python ~ # "фокус-покус" Скрытый текст ~ # ~ # find /opt/lib/node_modules/ -type f -not -name '*.coffee' | \ xargs -r sed -i -e 's,^#!.*bash,#!/opt/bin/bash,' \ -e 's,^#!.*node,#!/opt/bin/node,' \ -e 's,^#!.*python,#!/opt/bin/python,' ~ # проверка результата Скрытый текст ~ # ~ # find /opt/lib/node_modules/ -type f | xargs -r grep "^#!.*bash" /opt/lib/node_modules/node-gyp/node_modules/dashdash/etc/dashdash.bash_completion.in:#!/opt/bin/bash /opt/lib/node_modules/node-gyp/node_modules/ajv/scripts/travis-gh-pages:#!/opt/bin/bash /opt/lib/node_modules/node-gyp/node_modules/ajv/scripts/publish-built-version:#!/opt/bin/bash /opt/lib/node_modules/node-gyp/test/docker.sh:#!/opt/bin/bash /opt/lib/node_modules/npm/node_modules/dashdash/etc/dashdash.bash_completion.in:#!/opt/bin/bash /opt/lib/node_modules/npm/node_modules/lockfile/gen-changelog.sh:#!/opt/bin/bash /opt/lib/node_modules/npm/node_modules/ajv/scripts/travis-gh-pages:#!/opt/bin/bash /opt/lib/node_modules/npm/lib/utils/completion.sh:#!/opt/bin/bash ~ # find /opt/lib/node_modules/ -type f | xargs -r grep "^#!.*node" /opt/lib/node_modules/node-gyp/node_modules/which/bin/which:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/rimraf/bin.js:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/sshpk/bin/sshpk-verify:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/sshpk/bin/sshpk-sign:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/sshpk/bin/sshpk-conv:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/mkdirp/bin/cmd.js:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/performance-now/test/scripts/initial-value.coffee:#!/usr/bin/env ./node_modules/.bin/coffee /opt/lib/node_modules/node-gyp/node_modules/performance-now/test/scripts/delayed-call.coffee:#!/usr/bin/env ./node_modules/.bin/coffee /opt/lib/node_modules/node-gyp/node_modules/performance-now/test/scripts/delayed-require.coffee:#!/usr/bin/env ./node_modules/.bin/coffee /opt/lib/node_modules/node-gyp/node_modules/performance-now/test/scripts/difference.coffee:#!/usr/bin/env ./node_modules/.bin/coffee /opt/lib/node_modules/node-gyp/node_modules/semver/bin/semver:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/uuid/bin/uuid:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/ajv/scripts/info:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/nopt/bin/nopt.js:#!/opt/bin/node /opt/lib/node_modules/node-gyp/node_modules/nopt/examples/my-program.js:#!/opt/bin/node /opt/lib/node_modules/node-gyp/bin/node-gyp.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/which/bin/which:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/rimraf/bin.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/qrcode-terminal/bin/qrcode-terminal.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/sshpk/bin/sshpk-verify:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/sshpk/bin/sshpk-sign:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/sshpk/bin/sshpk-conv:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/node-gyp/node_modules/semver/bin/semver:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/node-gyp/node_modules/nopt/examples/my-program.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/is-ci/bin.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/mkdirp/bin/cmd.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/semver/bin/semver:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/errno/cli.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/errno/build.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/uuid/bin/uuid:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/yargs/README.md:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/yargs/README.md:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/ajv/scripts/info:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/rc/cli.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/JSONStream/bin.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/opener/bin/opener-bin.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/nopt/bin/nopt.js:#!/opt/bin/node /opt/lib/node_modules/npm/node_modules/nopt/examples/my-program.js:#!/opt/bin/node /opt/lib/node_modules/npm/bin/npx-cli.js:#!/opt/bin/node /opt/lib/node_modules/npm/bin/npm-cli.js:#!/opt/bin/node ~ # find /opt/lib/node_modules/ -type f | xargs -r grep "^#!.*python" /opt/lib/node_modules/node-gyp/gyp/samples/samples:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/setup.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/input_test.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/common_test.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/__init__.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/tools/pretty_vcproj.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/tools/graphviz.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/tools/pretty_gyp.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/tools/pretty_sln.py:#!/opt/bin/python /opt/lib/node_modules/node-gyp/gyp/gyp_main.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/setup.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/graphviz.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py:#!/opt/bin/python /opt/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py:#!/opt/bin/python ~ # бинго-о-о ~ # ~ # node-gyp --help Usage: node-gyp <command> [options] where <command> is one of: - build - Invokes `make` and builds the module - clean - Removes any generated build files and the "out" dir - configure - Generates a Makefile for the current module - rebuild - Runs "clean", "configure" and "build" all at once - install - Install node development files for the specified node version. - list - Prints a listing of the currently installed node development files - remove - Removes the node development files for the specified version node-gyp@3.8.0 /opt/lib/node_modules/node-gyp node@8.12.0 ~ # 2 Quote Link to comment Share on other sites More sharing options...
kalibannez Posted January 8, 2019 Author Share Posted January 8, 2019 TheBB, большое спасибо, конечно, нужно было догадаться что просто указан не верный путь до интерпретатора. Для тех, кто столкнется с такой же проблемой в будущем- вероятно, пункт "фокус-покус" нужно будет проделать для всех пакетов, установленных с помощью npm, ибо во всех, что я ставил путь был вида /usr/bin/env bash а в системе роутера так: /opt/bin/bash Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.