nodejs Установите проблему на моем BeagleBone Green - PullRequest
0 голосов
/ 22 мая 2018

Я хочу разработать приложение ReactJs и Nodejs на моей BeagleBone Green card с использованием cloud9, поэтому у меня возникала эта ошибка при каждой установке nodejs или выполнении команды с использованием npm.

https://i.stack.imgur.com/Ie095.png

Любая помощь будет принята с благодарностью.

Спасибо.

1 Ответ

0 голосов
/ 23 мая 2018

Ваш node исполняемый файл был создан для использования более новых версий libstdc ++ (стандартная библиотека C ++ GNU) и libc (стандартная библиотека C GNU), чем те, которые установлены на BeagleBone.

Toисправьте, вам нужно будет загрузить новые версии этих библиотек и сделать их доступными для node.Из информации на https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html видно, что вам нужно как минимум libstdc++.so.6.0.20 и как минимум libc-2.16.

Существует некоторый риск, связанный с изменением системных библиотек в работающей системе.Способ сделать это - поместить новые библиотеки рядом со старыми (не удалять и не переименовывать старые), а затем переделать существующие символьные ссылки libstdc++.so.6 и libc.so.6, чтобы они указывали на новые библиотеки.Символические ссылки - это то, что программы следуют, чтобы добраться до реальных библиотек.(Если вы посмотрите на эти символические ссылки, то увидите, что прямо сейчас они указывают на старые библиотеки.) Вам нужно переделать символические ссылки в одной команде, и если повторная обработка символьной ссылки libc не удастся, у вас будут большие проблемы.

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

В качестве альтернативы вы можете поместить новые библиотеки в некоторый каталог отдельно от системных библиотек, создать новые символические ссылки libstdc ++. So.6 и libc.so.6 в этом каталоге, а затем использовать переменную окружения LD_LIBRARY_PATH, чтобы вызвать node и npm искать их в этом месте.Это намного безопаснее, но немного безобразно.

...