Как установить Node.js без доступа sudo, но с установленным npm 1.3.10?

14

У меня мало знаний об Ubuntu 14.04.

Мне нужно установить Node.js. Я использую Ubuntu - большая система для организации, поэтому у меня нет sudoдоступа, но я обнаружил, что установлен npm 1.3.10.

Я ищу последовательность команд для установки Node.js в мой каталог пользователя. Я скачал Node.jsиз здесь на nodejs.org (LTS версия, 64 бит) в ~/Downloads/node-v8.9.1-linux-x64.tar.xz. Что мне делать дальше?

user5280911
источник
Аппаратное обеспечение вашей компании НЕ предназначено для того, чтобы вы устанавливали вещи вне того, что вам разрешено делать. Пожалуйста, свяжитесь с вашим отделом ИТ вместо публикации случайных вещей в Интернете.
3
@MichaelBay Node.js также можно установить локально, не используя sudo и не связываясь с ИТ-отделом, чтобы получить разрешение на глобальную установку Node.js.
Карел

Ответы:

17

Чтобы установить Node.js и npm локально, без использования sudo, откройте терминал и введите:

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
wget -c http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install 
wget -c https://www.npmjs.org/install.sh | sh  

Пакет curl по умолчанию не установлен в Ubuntu. Если у вас не установлен curl в вашей системе, замените все экземпляры curlв файле install.sh на wget -cи сохраните изменения в файле install.sh перед его запуском.

Это установит node-v9.2.0, который является более поздней версией Node.js, чем файл, который вы уже скачали.

Карел
источник
Большое вам спасибо, Карел. Я не только знаю, как установить Node.js, но и изучил общий метод установки программного обеспечения в мою пользовательскую папку из исходного кода. Стоит упомянуть только две вещи: 1) во-первых, у меня есть существующий ~ / .bashrc, поэтому я добавил путь в geditor вручную и заново вошел в систему. 2) Я не понимаю 6-ю команду, поэтому запускаю их отдельно: первый wget ... второй tar -xzf ... и, наконец, cd в распакованную папку. Я тоже не понимаю последнюю команду. Означает ли это, что я загружаю install.sh с этого URL и запускаю его?
user5280911
То, что вы сделали с существующим ~ / .bashrc, в порядке. Что касается последней команды, она загружает файл install.sh с URL-адреса и запускает его, кроме того, для файла install.sh даже не требуются разрешения на выполнение, поскольку вы запускаете команду как обычный пользователь, а не как sudo ,
Карел
1
Я понял. Спасибо. Извините, я не могу проголосовать за ваш ответ, потому что моей репутации недостаточно, но я сделаю это, как только смогу. Еще раз спасибо за вашу помощь.
user5280911
Есть ли способ достичь этого, когда у вас нет доступа к компилятору C - возможно, с использованием двоичных файлов?
Саймон Ист
GitHub пользователя Айзекс изобретатель НПМ написал несколько сценариев для методов , чтобы установить узел и НПМ без необходимости использования sudo: node-and-npm-in-30-seconds.sh . Примечание: npm> = 0.3 безопаснее при использовании sudo. Пожалуйста, не делайте этого, если вы не знаете, что он делает!
Карел
2

Я тренируюсь таким образом - в 2 этапа.

Шаг 1: Загрузите и распакуйте двоичные файлы nodejs

# create a directory where you want to install node js
mkdir ~/nodejs-latest

# download and extract nodejs binaries into the created directory
cd ~/nodejs-latest
wget -c http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1


Шаг 2: Установите PATH и источник

# append the following lines to the ~/.bashrc file
export NODE_HOME=~/nodejs-latest
export PATH=$PATH:$NODE_HOME/bin

# refresh environment variables
source ~/.bashrc

Затем вы можете проверить установку nodejs с помощью node --versionи npm --version.

Ramvignesh
источник
Я думаю, что ваша команда загружает исходные файлы узла (не скомпилированные). Возможно, вы намереваетесь скачать двоичные файлы?
Саймон Ист
-1

Мне нравится использовать группы Ubuntu для достижения этой цели. Это довольно просто.

  1. Сначала установите nodejs и npm, используя apt-get

    sudo apt-get update && sudo apt-get install nodejs npm

  2. Выясните, кто вошел в систему, т.е. имя пользователя, выполните следующую команду, чтобы увидеть его в терминале

    whoami

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

    groups

  4. Запустите следующую, чтобы разрешить доступ зарегистрированному пользователю

    sudo chmod 777 -R /usr/local && sudo chgrp $(whoami) -R /usr/local

  5. Обновите npm и nodejs

    npm install -g npm

Вы настроены, ваш пользователь может запускать команды npm без sudo

Вы также можете обратиться к ошибке npm throws без sudo .

Гитеш Далал
источник
1
Изменение стандартных разрешений файловой системы должно быть последним действием.
Карлос Дагоррет