将NPM的默认目录更改为另一个用户的本地目录(Ubuntu)

时间:2019-02-06 09:48:07

标签: node.js npm

我正在Windows机器上开发一个相对简单的Node.js项目,我想开始在运行Ubuntu 18.04的本地服务器上进行测试。设置服务器时,最初创建了一个我用于大多数事物的帐户(名为“ admin”)。我使用该帐户通过SSH进入服务器并进行远程管理。在此过程中,我在服务器上设置了一个LAMP堆栈,并创建了另一个用户(名为“ sftpuser”)以允许我通过sftp进入服务器以修改与Web相关的文件。 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)

我根据此(https://github.com/creationix/nvm)安装了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"

我想在sftpuser文件夹中找到我的Node.js项目文件夹(例如,连同“ 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的本地文件夹?是否存在任何问题(例如与特权有关)会导致Node.js,NPM等一系列问题?

顺便说一句,我想过尝试上面链接的文章中的命令,说一个绝对路径(例如“ / home / sftpuser / nodejs”之类),但是我宁愿推迟,因为我不知道如何完全撤消。另外,我认为使用波浪号和“ $ HOME”变量是有原因的(不是只保存了几次击键)。

0 个答案:

没有答案