Разрешение на npm при новой установке Homestead / Vagrant / Laravel - PullRequest
0 голосов
/ 05 мая 2018

Два дня занимаемся этой проблемой, и она побеждает.

У меня новая версия хоста Windows 10, на котором установлены последние версии Vagrant, laravel/homestead (Ubuntu 18.04 LTS box, v 6.0.0), Virtualbox, laravel, git for windows, node.js for windows.

vagrant, git, virtualbox настроены для работы в качестве администратора в windows.

Я создаю проект Laravel с именем blog, например:

vagrant@homestead:~/src$ composer create-project --prefer-dist laravel/laravel blog

Все создает ОК. Затем я пытаюсь установить npm следующим образом:

vagrant@homestead:~/src/blog$ npm install -g npm@latest

И я получаю:

npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm
npm WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! path /usr/lib/node_modules/npm
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules/npm'
npm ERR!  { Error: EACCES: permission denied, access '/usr/lib/node_modules/npm'
npm ERR!   stack: 'Error: EACCES: permission denied, access \'/usr/lib/node_modules/npm\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/lib/node_modules/npm' }
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!     /home/vagrant/.npm/_logs/2018-05-05T00_57_41_110Z-debug.log

Но когда я проверяю vagrant разрешения пользователя:

vagrant@homestead:~/src/blog$ groups
vagrant adm cdrom sudo dip www-data plugdev lxd lpadmin sambashare

Так что я решаю это с помощью сообщения не рекомендуется npm:

vagrant@homestead:~/src/blog$ sudo npm install -g npm@latest

Теперь я иду и устанавливаю npm пакет, такой как highcharts:

vagrant@homestead:~/src/blog$ npm install --save highcharts
npm WARN rollback Rolling back highcharts@6.1.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/src/blog/node_modules/highcharts/package.json.2262439515'
npm ERR! path /home/vagrant/src/blog/node_modules/highcharts/package.json.2262439515
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! syscall rename
npm ERR! ETXTBSY: text file is busy, rename '/home/vagrant/src/blog/node_modules/highcharts/package.json.2262439515' -> '/home/vagrant/src/blog/node_modules/highcharts/package.json'

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/vagrant/.npm/_logs/2018-05-05T01_10_24_241Z-debug.log

Я пытаюсь установить пакет sudo, тот же результат

vagrant@homestead:~/src/blog$ sudo npm install --save --no-bin-links highcharts 
npm WARN rollback Rolling back highcharts@6.1.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/src/blog/node_modules/highcharts/package.json.1984492036'
npm ERR! path /home/vagrant/src/blog/node_modules/highcharts/package.json.1984492036
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! syscall rename
npm ERR! ETXTBSY: text file is busy, rename '/home/vagrant/src/blog/node_modules/highcharts/package.json.1984492036' -> '/home/vagrant/src/blog/node_modules/highcharts/package.json'

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/vagrant/.npm/_logs/2018-05-05T01_58_13_140Z-debug.log

В результате получается папка highchatrts в node_modules, содержащая только файл packaje.json.1984492036.

Кажется, я не могу найти способ обойти это. Использование --no-bin-links дает ту же ошибку.

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Я все заработал, запустив npm install с хоста OS git, а не с ubuntu vm. Не то, что я хотел, но я двигаюсь вперед, чему-то научился и подкрался ближе к безумию ...

0 голосов
/ 05 мая 2018

У меня была та же проблема два дня назад, попробуйте запустить sudo npm install --unsafe-perm, отмените все внесенные вами изменения, потому что я не знаю, как работает камердинер (печальный пользователь Linux)

...