Як встановити 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. Що робити далі?


Обладнання вашої компанії НЕ для вас, щоб встановлювати речі поза тим, на що ви маєте право. Зверніться до ІТ-відділу, а не розміщуйте випадкові речі в Інтернеті.

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 являє собою винахідник npm, написав кілька сценаріїв для методів встановлення вузла і npm, не використовуючи sudo: node-and-npm-in-30-seconds.sh . Примітка: npm> = 0,3 безпечніше при використанні sudo. Будь ласка, не робіть цього, якщо ви не знаєте, що це робить!
karel

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

Потім ви можете перевірити встановлення вузлів за допомогою node --versionі npm --version.


Я думаю, що ваша команда завантажує вихідні файли Node (некомпільована). Можливо, ви маєте намір завантажити бінарні файли?
Саймон Схід

-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 кидків без sudo .


1
Зміна стандартних дозволів файлової системи має бути останньою дією.
Карлос Дагоррет
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.