EACCES Проблема при новой установке npm на WSL Debian при попытке обновления до последней версии - PullRequest
1 голос
/ 16 марта 2019

Привет всем, я начал с нового дистрибутива wsl Debian и установил на нем nodejs и npm.

При попытке обновления до последней версии npm с помощью следующей команды:

sudo npm install npm @ latest -g

Я получаю некоторые странные проблемы, которые довольно часто встречаются в wsl, из того, что я видел в своих интернет-исследованиях, единственный ответ, который, кажется, работает, но не решается должным образомпроблема заключается в установке небезопасных разрешений в значение true с помощью следующей команды:

npm config set unsafe-perm true

Я бы не использовал этот метод и нашел бы большеЧистый способ решения проблемы.

Вот вывод консоли:

####@#####:~$ sudo npm install npm@latest -g
npm ERR! path /usr/lib/node_modules/.staging/npm-18aca6f9/node_modules/wrap- 
ansi
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rename
npm ERR! Error: EACCES: permission denied, rename 
'/usr/lib/node_modules/.staging/npm-18aca6f9/node_modules/wrap-ansi' -> 
'/usr/lib/node_modules/.staging/wrap-ansi-9f8997e7'
npm ERR!  { [Error: EACCES: permission denied, rename 
'/usr/lib/node_modules/.staging/npm-18aca6f9/node_modules/wrap-ansi' -> 
'/usr/lib/node_modules/.staging/wrap-ansi-9f8997e7']
npm ERR!   cause:
npm ERR!    { Error: EACCES: permission denied, rename 
'/usr/lib/node_modules/.staging/npm-18aca6f9/node_modules/wrap-ansi' -> 
'/usr/lib/node_modules/.staging/wrap-ansi-9f8997e7'
npm ERR!      errno: -13,
npm ERR!      code: 'EACCES',
npm ERR!      syscall: 'rename',
npm ERR!      path:
npm ERR!       '/usr/lib/node_modules/.staging/npm- 
18aca6f9/node_modules/wrap-ansi',
npm ERR!      dest: '/usr/lib/node_modules/.staging/wrap-ansi-9f8997e7' },
npm ERR!   stack:
npm ERR!    "Error: EACCES: permission denied, rename 
'/usr/lib/node_modules/.staging/npm-18aca6f9/node_modules/wrap-ansi' -> 
'/usr/lib/node_modules/.staging/wrap-ansi-9f8997e7'",
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'rename',
npm ERR!   path:
npm ERR!    '/usr/lib/node_modules/.staging/npm-18aca6f9/node_modules/wrap- 
ansi',
npm ERR!   dest: '/usr/lib/node_modules/.staging/wrap-ansi-9f8997e7' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as 
the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double- 
check the
npm ERR! permissions of the file and its containing directories, or try 
running
npm ERR! the command again as root/Administrator (though this is not 
recommended).

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-03-15T23_53_32_851Z-debug.log

Я следовал документации на сайте nodejs для установки, используя curl в корневом режиме, чтобы получить хранилище последнего11.x версия узла.

Заранее спасибо!

1 Ответ

1 голос
/ 29 мая 2019

Испытываете эту проблему в дистрибутиве WSL Ubuntu и только на rename.

Происходит также на npm update даже после использования chown в моем каталоге node_modules.

Обходной путь, которыйЯ начал работать над тем, чтобы просто избежать update и использовать вместо него install (npm install npm @ x также технически является обновлением).Я знаю, что это очень мешает, но кроме этого я не уверен, как заставить это работать.Команды, которые переименовывают каталоги, запускают это, но не на create или delete.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...