Невозможно создать приложение Yeoman
Я получаю это, когда пытаюсь создать веб-приложение с yeoman
,
/usr/local/lib/node_modules/yo/node_modules/insight/node_modules/configstore/configstore.js:66
throw err;
^
Error: EACCES, permission denied '/root/.config/configstore/insight-yo.yml'
You don't have access to this file.
at Object.fs.openSync (fs.js:436:18)
at Object.fs.writeFileSync (fs.js:975:15)
at Object.create.all.set (/usr/local/lib/node_modules/yo/node_modules/insight/node_modules/configstore/configstore.js:56:8)
at Object.Configstore (/usr/local/lib/node_modules/yo/node_modules/insight/node_modules/configstore/configstore.js:19:11)
at new Insight (/usr/local/lib/node_modules/yo/node_modules/insight/lib/insight.js:23:34)
at process.<anonymous> (/usr/local/lib/node_modules/yo/node_modules/insight/lib/push.js:11:16)
at process.emit (events.js:98:17)
at handleMessage (child_process.js:322:10)
at Pipe.channel.onread (child_process.js:349:11)
Я погуглил и попробовал следующее, но это не помогло:
chown root /root/.config/configstore/insight-yo.yml
chown myusername /root/.config/configstore/insight-yo.yml
Установлены npm-sudo-fix
и запустил его, и пока не повезло.
Я на Debian Wheezy и у меня есть npm 1.4.4.
7 ответов
Я столкнулся с той же проблемой. Я запустил команду ниже, она исправила мою проблему:
mkdir -p /root/.config/configstore
chmod g+rwx /root /root/.config /root/.config/configstore
Та же проблема произошла со мной, я был в корневом режиме пользователя #. Я просто вернулся к обычному пользователю $, и это сработало. я использую Zorin OS
Я просто исправил это в Windows. Я сделал три вещи, одна из которых исправила это, я не уверен.
Запустите команду cmd от имени администратора.
takeown /?
эта команда эквивалентна chown
(Linux), но для Windows.
cacls -cacls /E /T /G :F
просто зайди в $USER
/Users/calvin/.config/configstore/
и сделать файлы невидимыми.
это сработало для меня как шарм. Я пытался это исправить уже много дней.
У меня была такая же проблема при создании приложения meanjs в Ubuntu, и я исправил эту проблему, используя sudo
вместо root
:
sudo npm install -g yo generator-meanjs bower grunt
Тогда я мог бы создать приложение без повторного запроса пароля:
yo meanjs
sudo позволяет пользователю действовать как root без root -входа, более безопасно использовать sudo вместо входа в систему как root. sudo vs root - askubuntu
Я смог это исправить, запустив:
echo prefix = ~/.node >> ~/.npmrc
а также
export PATH=$HOME/.node/bin:$PATH
Объяснение здесь:
Ошибка при установке yeoman
Что означает `echo prefix = ~/.node >> ~/.npmrc`?
npm / yeoman установить генератор-угловой без sudo
Проблема в том, что вам не разрешено использовать некоторые из модулей nodejs. в основном, проблема связана с авторизацией менеджера пакетов узла "npm", чтобы исправить это, сначала запустите эту команду
sudo npm install --global yo --allow-root
Хотя chmod
Команда, казалось, работала сначала, позже я получил похожую ошибку для другой папки. Но здесь я нашел этот обходной путь, который также исправил это:
sed -i -e '/rootCheck/d' "${NPM_CONFIG_PREFIX}/lib/node_modules/yo/lib/cli.js"
Если yo
запускается как root, rootCheck
понизится до UID 1000 (в Linux) или 501 (в OS X). Это вызывает ошибку разрешения. Но в Docker-контейнере вы можете запускать с правами root, поэтому у вас нет другого выбора.
Вам необходимо повторно выполнить эту команду после обновления Йомен. В случае NPM_CONFIG_PREFIX
не определено, вы можете использовать:
export NPM_CONFIG_PREFIX=$(npm config get prefix)