Изменение каталога по умолчанию NPM на локальный каталог другого пользователя (Ubuntu) - PullRequest
0 голосов
/ 06 февраля 2019

Я нахожусь в процессе разработки относительно простого проекта Node.js на компьютере с Windows, который я хочу начать тестировать на локальном сервере с Ubuntu 18.04.Когда я настраивал сервер, я изначально создал учетную запись (с именем «admin»), которую я использовал почти для всего.Я использую эту учетную запись для SSH на сервер и управляю им удаленно.Попутно я установил стек LAMP на сервере и создал другого пользователя (с именем «sftpuser»), чтобы я мог зайти на сервер с целью изменения файлов, связанных с сетью.Sftpuser не может подключиться по SSH к серверу (только sftp).

Базовая структура папок (с правами владельца -) выглядит следующим образом:

    home (root - 755)
      |-- sftpuser (root - 755)
      |     |-- docs (sftpuser - 755)
      |     |-- www (root - 755)
      |     |     |-- domain (sftpuser - 775)
      |     |     |     |-- public_html (sftpuser - 755)
      |     |     |-- logs (sftpuser - 755)

Я установил NVM в соответствии с этим (https://github.com/creationix/nvm), а затем установил Node.js, используя:

    nvm ls-remote
    nvm install 10.15.1

Запуск npm config ls -l | grep config показывает следующее:

    ; cli configs
    globalconfig = "/home/admin/.nvm/versions/node/v10.15.1/etc/npmrc"
    userconfig = "/home/admin/.npmrc"

Я хочу найти папку проекта Node.js в папкеПапка sftpuser (например, вместе с «docs» и «www»), позволяющая редактировать эти файлы через sftp. Надеемся, что в ней будет храниться большинство файлов Node.js, содержащихся в одном месте.

Я столкнулся сэтот пост (https://stackoverflow.com/a/39373730), который охватывает изменение каталога по умолчанию NPM на папку локального пользователя. Соответствующая часть этого поста выглядит следующим образом:

    mkdir ~/.npm-global
    npm config set prefix '~/.npm-global'
    export PATH="$HOME/.npm-global/bin:$PATH"  # ← put this line in .bashrc
    source ~/.bashrc  # if you only updated .bashrc

Но в моем случае это изменитсяэто локальная папка пользователя «admin», а не «sftpuser». Как бы я изменил каталог по умолчанию на локальную папку sftpuser? Существуют ли какие-либо проблемы (например, связанные с привилегиями), которые могут вызвать проблемывниз тВ строке re Node.js, NPM и т. д .?

Кстати, я подумал о том, чтобы попробовать команды в посте, связанном выше, с использованием абсолютного пути (например, «/ home / sftpuser / nodejs» или тому подобное).), но я бы предпочел подождать, так как я не знал бы, как отменить это полностью.Кроме того, я полагаю, что тильда и переменная «$ HOME» используются по какой-то причине (кроме просто для сохранения нескольких нажатий клавиш).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...