Почему я могу запустить только 'sudo node', а не только 'node'?

Я только что получил новый macbook и установленный узел.js с помощью официального установщика.

почему-то я могу запустить только node.js с помощью sudo node и не только node. Я проверил по $Path и путь к узлу там.

nikke at Nicks-MacBook-Pro in ~
$ node
-bash: node: command not found
nikke at Nicks-MacBook-Pro in ~
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/nikke/.rvm/bin
nikke at Nicks-MacBook-Pro in ~
$ /usr/local/bin/node -v
-bash: /usr/local/bin/node: Permission denied
nikke at Nicks-MacBook-Pro in ~
$ sudo /usr/local/bin/node -v
v0.10.12

мой коллега имеет такой же компьютер и он может работать узел просто штраф без суда. Это нормально? Что я могу сделать плохого? Установщик ничего не говорил о том, чтобы делать sudo.

я тоже имея эту проблему с git, например, doing git commit и говорит Permission denied.

20
задан Nick
10.11.2022 7:01 Количество просмотров материала 2679
Распечатать страницу

2 ответа

есть две части этого явления-i>расположение или ii>природа, файл может потребовать от вас, чтобы войти в систему в качестве администратора, как это может действовать таким образом, чтобы дестабилизировать систему, или вы можете просто не иметь необходимые разрешения на выполнение файла.

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

попробуйте изменить разрешение файла(для которых вы можете опять нужны права админа). Если возможно, вы также можете попробовать выполнить его в отдельном месте. Sudo делает работу отлично, повышая свою позицию в качестве администратора ОС (который имеет необходимые права). Это одна из многих проверок безопасности, присущих ОС, чтобы предотвратить случайное изменение/повреждение системы.

бесенок: ваше выбранное местоположение имеет драгоценные системные файлы, которые пользователь не имеет права редактировать.

кроме того, сделали ваш друг ранее войти как суперпользователь, используя

su

??

Если да, то он уже вошел в систему как суперпользователь и не нуждается в повторном входе. Привилегии пользователя root обозначаются # в конце строки вместо $.

1
отвечен Somu 2022-11-11 14:49

вероятно, потому, что программа / usr / local/bin / node не может быть запущена "нормальными" пользователями. Вам, видимо, нужно быть пользователем root, чтобы запустить его. Именно поэтому судо необходим.

0
отвечен mdpc 2022-11-11 17:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх