docs.npmjs.com/getting-started/fixing-npm-permissions

аюсь установить машинопись с помощью командыnpm install -g typescriptи возвращает эту ошибку:

    npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, access '/usr/lib/node_modules'
    npm ERR!     at Error (native)
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'access',
    npm ERR!   path: '/usr/lib/node_modules' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.
    npm ERR! Linux 4.4.0-93-generic
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "typescript"
    npm ERR! node v6.11.2
    npm ERR! npm  v3.10.10
    npm ERR! path npm-debug.log.1024969454
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall open

    npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
    npm ERR!     at Error (native)
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'open',
    npm ERR!   path: 'npm-debug.log.1024969454' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.

    npm ERR! Please include the following file with any support request:
    npm ERR!     /npm-debug.log
    [email protected]:/$ ^C
    [email protected]:/$ npm install typescript
    npm WARN checkPermissions Missing write access to /
    /
    └── [email protected] 

    npm WARN enoent ENOENT: no such file or directory, open '/package.json'
    npm WARN !invalid#1 No description
    npm WARN !invalid#1 No repository field.
    npm WARN !invalid#1 No README data
    npm WARN !invalid#1 No license field.
    npm ERR! Linux 4.4.0-93-generic
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
    npm ERR! node v6.11.2
    npm ERR! npm  v3.10.10
    npm ERR! path /
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall access

    npm ERR! Error: EACCES: permission denied, access '/'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, access '/'
    npm ERR!     at Error (native) errno: -13, code: 'EACCES', syscall: 'access', path: '/' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.
    npm ERR! Linux 4.4.0-93-generic
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
    npm ERR! node v6.11.2
    npm ERR! npm  v3.10.10
    npm ERR! path npm-debug.log.2387664261
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall open

    npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
    npm ERR!     at Error (native)
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'open',
    npm ERR!   path: 'npm-debug.log.2387664261' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.

    npm ERR! Please include the following file with any support request:
    npm ERR!     /npm-debug.log

Кроме того, я бегаю такжеnpm install typescript (без -g), но не работает или существует какой-либо другой способ установки машинописи? Моя ОС Linux Ubuntu 16.04. Я редко используюnode и не знаю, как решить эту проблему.

Мой вопрос таков: какие каталоги нуждаются в этих разрешениях?

 Juan05 сент. 2017 г., 17:32
Пытатьсяsudo npm install -g typescript

Ответы на вопрос(4)

Решение Вопроса

Не рекомендуется использовать sudo с установкой npm, следуйте инструкциям из официальных документов npmjs :)

Создайте каталог для глобальных установок:

mkdir ~/.npm-global

Настройте npm для использования нового пути к каталогу:

npm config set prefix '~/.npm-global'

Откройте или создайте файл ~ / .profile и добавьте следующую строку:

export PATH=~/.npm-global/bin:$PATH

Вернитесь в командную строку и обновите системные переменные:

source ~/.profile

Тест: Загрузите пакет глобально без использования sudo.

npm install -g typescript

Источник:https://docs.npmjs.com/getting-started/fixing-npm-permissions

 Almett15 мая 2018 г., 02:45
Ты спас мой день, чувак. Работает отлично, спасибо.
 Frank Nocke20 июл. 2018 г., 15:35
не должен шаг 3export PATH="~/.npm-global/bin:$PATH" быть помещенным в.bash_aliases (включено из.bashrcили прямо там ...) для настойчивости?
 Hassan Ahmed23 сент. 2018 г., 19:10
рекомендуемое решение (Y)
 Aline Matos26 янв. 2019 г., 13:39
Это должен быть правильный ответ!
 Terence Ponce15 янв. 2019 г., 02:40
Это гораздо лучший ответ. Не возиться сsudo или каталог разрешений.

ения на запись, когда вы пишете вusr/bin папка. Это из соображений безопасности.

Итак, каждый раз, когда вы устанавливаете глобальный пакет, используйте:

sudo npm install -g [package-name]

для вашего конкретного случая:

sudo npm install -g typescript

Когда вы попробуете это без-g все, что вы делаете, это устанавливаете пакет локально в любую папку, в которой вы находитесь:

так:npm install typescript создастnode_modules папка в папке, в которой вы находитесь.

 Abdalla Arbab16 авг. 2018 г., 10:35
Вы не должны использовать sudo с установкой NPM.
 Frank Nocke14 июл. 2018 г., 12:34
Было бы ужасно неправильно идти наchmod g+rw на/usr/lib/node_modules/ вместо?

бе, используйте шаги Решил мою проблему, моя работа для вас.

Шаги, упомянутые выше. Сделайте резервную копию вашего компьютера перед началом работы.

Создайте каталог для глобальных установок:

1.mkdir ~/.npm-global

Настройте npm для использования нового пути к каталогу:

2.npm config set prefix '~/.npm-global'

Откройте или создайте файл ~ / .profile и добавьте следующую строку:

3.export PATH=~/.npm-global/bin:$PATH

Вернитесь в командную строку и обновите системные переменные:

4.source ~/.profile

Тест: Загрузите пакет глобально без использования sudo.

npm install -g jshint

Вместо шагов 2-4 вы можете использовать соответствующую переменную ENV (например, если вы не хотите изменять ~ / .profile):

NPM_CONFIG_PREFIX=~/.npm-global

это сработало для меня.

sudo npm install -g coffee-script

тогда

sudo npm install -g typescript
 Mihai16 окт. 2018 г., 13:49
Старайтесь избегать использования sudo с установкой npm, что может быть опасно с точки зрения безопасности. Следуйте инструкциям, приведенным в официальных документах npmjs.docs.npmjs.com/getting-started/fixing-npm-permissions

Ваш ответ на вопрос