Нет, ~/.npm
уже находится в вашей домашней папке, следовательно, символ ~
. Если вам требуется sudo для установки модулей npm, вы, вероятно, имеете узлы и npm, чтобы установить систему в целом. Когда вы это сделаете, он помещает данные приложения в путь /usr/local
, потому что этот путь находится в вашем $PATH
, что означает, что оболочка ищет исполняемые файлы там. Его также читают все пользователи, поэтому все пользователи могут использовать node/npm. Вы не создаете недостаток безопасности в том, что вы сделали. Тем не менее, вы должны создать небольшую проблему с безопасностью, если вы будете катавать свой каталог /usr/local/
. Если вы используете только глобальный каталог node_module, вы бы не создали большую проблему безопасности, но это, скорее всего, означало бы, что вы должны просто установить узел/npm в учетной записи пользователя (в вашем домашнем каталоге), где у вас есть доступ на запись.
NVM полезен для этого, он устанавливает узел/npm в свою учетную запись и добавляет свой путь установки к вашему $PATH
в ваш .bashrc
. Я не рекомендую использовать NVM в производстве, но производство - это еще одна игра с мячом, где вы, вероятно, должны научиться правильно создавать системные службы/демоны.
Ах, понял. Я удалил узел после того, как сделал это, и переустановил его успешно. Переписала бы эту команду «chow»? – Richard
Кроме того, какая проблема «незначительной безопасности» была бы при выборе «/ usr/local /»? Спасибо – Richard
Не было ничего плохого в команде, которую вы запустили, она ничего не сделала. Chowning/usr/local означает, что любой, кто скомпрометировал эту учетную запись пользователя, будет иметь полный доступ к этому каталогу. В этом каталоге много файлов и двоичных файлов, необходимых для правильной работы системы. Все это предполагает, что учетная запись владельцев файлов была скомпрометирована. Его по-прежнему не касается вашего беспокойства, потому что это не то, что вы сделали. В основном вы ничего не делали в своем домашнем каталоге '' 'уже принадлежит вам. – tsturzl