LINUX.ORG.RU

NodeJS с точки зрения админства и секурности. установка пакетов по `npm install -g`

 


0

1

эта команда только у меня щимется инсталлировать в /usr/lib/node.., требуя при этом прав root, или в таких дистрах как Дебьян и Федора настроено как-то иначе?

сам то планирую исправить это скриптом

#!/bin/bash

export NPM_CONFIG_PREFIX="$HOME/.nodejs_npm_prefix"

export PATH+=":$NPM_CONFIG_PREFIX/bin"

в /etc/profile.d/SET/

Переписи неосиляторов тред гоу.

Зачем ставить протухшую ноду из пакетного менеджера своей системы?
Нужна фиксированная версия в dev окружении - nvm.
Нужна фиксированная версия в prod окружении - docker. Если в prod`е внезапно нужно что-то ставить глобально -> ты делаешь что-то неправильное.

Deleted ()
Ответ на: комментарий от Deleted

Нужна фиксированная версия в prod окружении - docker.

А вот и настоящий неосилятор подтянулся.

Если в prod`е внезапно нужно что-то ставить глобально -> ты делаешь что-то неправильное.

Вообще прод изначально настраивается после тестирования. И ставится глобально всё это в первый раз при запуске. А если что-то внезапно ставится на проде - вопиющая некомпетентность. Только к теме это не относится.

Woolf ★★ ()
Ответ на: комментарий от Deleted

Зачем ставить протухшую ноду из пакетного менеджера своей системы?

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

но как чел, которому забажалось ознакомиться с программингом под ноду, мне стал не совсем ясен сабж. особенно по сравнению с golang и rust, которые ничего не хотят устанавливать под рутом и им достаточно домашних каталогов.

PexuOne ()
Ответ на: комментарий от PexuOne

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

Ок, тогда отвечаю на оригинальный вопрос.

эта команда только у меня щимется инсталлировать в /usr/lib/node..,

Нет, не только y тебя, и от дистра это особо не зависит. Твое решение с профайлом - норм.

Deleted ()

сам то планирую исправить это скриптом

Какой-то костыль для костылей. Проще отказаться от ноды и использовать что-то получше.

th3m3 ★★★★★ ()
Ответ на: комментарий от Deleted

Переписи неосиляторов тред гоу.

не только. еще мамкиных админов, и не умеющих в элементарный RTFM

ТС, тебе надо за ~/.npmrc почитать, и просто сменить префикс. Про PATH думаю сам догадаешься

dib2 ★★★★★ ()
Ответ на: комментарий от crutch_master

Родные tar`ы это тоже через жопу. Ну можешь и nvm использовать, но docker хотя-бы позволяет без головной боли держать бинарно несовместимые версии на одном хосте.

Deleted ()
Ответ на: комментарий от dib2

ТС, тебе надо за ~/.npmrc почитать, и просто сменить префикс. Про PATH думаю сам догадаешься

да, я прочитал. оффдока, как раз и не против задания NPM_CONFIG_PREFIX, кроме того, мне что-то не нравится заставлять юзеров править конфиг.

а что с PATH не так?

я вот как раз собрал свежий 11.0.0 и накатил его с сабжевым скриптом. вроде работает так как я и хочу.

PexuOne ()
Ответ на: комментарий от th3m3

Какой-то костыль для костылей. Проще отказаться от ноды и использовать что-то получше.

пришёл к ноде за обилием вакансий, а вообще вот: ищу удалённую работу. кодинг. Go, Python, SysDev, Gtk+ etc.. . И вообще, в идеале - найти финансирование на дистр и дальше его пилить.

PexuOne ()
Ответ на: комментарий от Deleted

docker хотя-бы позволяет без головной боли держать бинарно несовместимые версии на одном хосте.

такое выражение верно только с внешней точки зрения. не забывайте, что вместе с инкапсуляцией докеровских пакетов, инкапсулируются и их проблемы, которые все равно когда-то придётся решать.

PexuOne ()
Ответ на: комментарий от PexuOne

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

Может быть тогда и не нужно npm? Попробуй yarn. Оно заметно быстрее и субъективно юзабельнее.

WitcherGeralt ★★ ()

Ставь ноду через nvm, и все будет работать в хомяке. Единственное - надо будет глобальные пакеты переставлять при смене версии ноды.

Vit ★★★★★ ()