2016-11-10 3 views
0

Я использую свежий Homestead (box version 0.5) для нового приложения Laravel 5.3. Хост ОС Windows, 10.Laravel Homestead, npm install --no-bin-links error

Я получаю эту ошибку при запуске npm install --no-bin-links

npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue 
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue 
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to [email protected]^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree. 
npm ERR! Linux 4.4.0-22-generic 
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--no-bin-links" 
npm ERR! node v5.12.0 
npm ERR! npm v3.8.6 

npm ERR! Maximum call stack size exceeded 
npm ERR! 
npm ERR! If you need help, you may report this error at: 
npm ERR!  <https://github.com/npm/npm/issues> 

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

NPM-debug.log

......... 
71199 silly build [email protected] 
71200 silly build [email protected] 
71201 silly build [email protected] 
71202 silly build [email protected] 
71203 silly build [email protected] 
71204 silly build [email protected] 
71205 silly build [email protected] 
71206 silly build [email protected] 
71207 silly build [email protected] 
71208 silly build [email protected] 
71209 silly build [email protected] 
71210 verbose stack RangeError: Maximum call stack size exceeded 
71210 verbose stack  at process.stderr (internal/process/stdio.js:23:46) 
71210 verbose stack  at isTTY (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/progress-bar.js:11:17) 
71210 verbose stack  at Object.ProgressBar.show (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/progress-bar.js:132:8) 
71210 verbose stack  at Object.ProgressBar.pulse (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/progress-bar.js:124:8) 
71210 verbose stack  at EventEmitter.log.emitLog (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:178:40) 
71210 verbose stack  at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:170:8) 
71210 verbose stack  at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:231:21) 
71210 verbose stack  at tracker.(anonymous function) [as silly] (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:79:19) 
71210 verbose stack  at module.exports (/usr/lib/node_modules/npm/lib/install/action/build.js:8:7) 
71210 verbose stack  at actions.(anonymous function) (/usr/lib/node_modules/npm/lib/install/actions.js:48:12) 
71211 verbose cwd /home/vagrant/t1/t1 
71212 error Linux 4.4.0-22-generic 
71213 error argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--no-bin-links" 
71214 error node v5.12.0 
71215 error npm v3.8.6 
71216 error Maximum call stack size exceeded 
71217 error If you need help, you may report this error at: 
71217 error  <https://github.com/npm/npm/issues> 
71218 verbose exit [ 1, true ] 

без --no-bin-links он работает (если, конечно, не внутри общей папки)

Обновлен узел и номер npm (6.9.1, 3.10.8), та же проблема.

+0

Немного поздно, но вы решили его? Как? Я в той же ситуации ... – andcl

+0

@ andcl85 Нет, я просто использовал npm с главной машины (и 'artisan serve' iirc), все еще используя Homestead для базы данных. И позже я переключился на пряжу, «пряжа - нет-bin-links», кажется, работает нормально. – AlexP11223

+0

Спасибо. Я, кстати, разработал метод, чтобы все это работало с помощью Homestead;). Я объясняю это в ответах. – andcl

ответ

1

Я разработал метод , чтобы заставить все это работать. Вот основные шаги:

  • Во-первых, сделать каталог из Vagrant общей папки. Это может быть, например, «/home/vagrant/node».
  • Прямо здесь, мы скопируем файл package.json из нашей установки Laravel, чтобы сообщить npm, что устанавливать ... Обратите внимание, что недавно созданный каталог «node» находится в системе Unix, не имеет ничего общего с нашей Windows (поскольку он не является частью общей папки между обоими).
  • В-третьих, мы бы запустить НПМ установить команду (без --no-бен-ссылки вариантов, как Unix поддерживает символические ссылки Там не должно быть никаких ошибок;.)
  • Наконец, мы хотели бы переместить "node_modules ', вернемся к нашей папке установки Laravel (совместно используемой), но запустив команду vagrant до с консоли с привилегиями администратора на хост-компьютере Windows. В противном случае попытка перемещения созданных символических ссылок приведет к ошибке.

Все будет работать, так как это машина Unix, которая служит приложению Laravel. Этот процесс поможет вам установить Laravel Mix без проблем.

Cheers!

+0

hm. Если он позволяет перемещать символические ссылки при запуске как admin, не может ли он просто создать их здесь без перемещения?Выполнение этого каждый раз, когда вы хотите добавить пакеты, кажется неудобным :) Может быть, он может быть автоматизирован, по крайней мере, например, с помощью сценария npm pre-install. Но я думаю, что самым простым решением является просто переключиться на пряжу :) Он также имеет приятные функции, такие как yarn.lock и более быстрая установка. (его можно установить в Homestead, просто добавив команды https://yarnpkg.com/en/docs/install#linux-tab к after.sh в корне проекта) – AlexP11223

+0

Мой опыт - это один раз, когда он устанавливается, каждая последующая установка npm команда не будет вызывать ошибки, что приведет к оптимальному решению. Нет никакого neeed, чтобы делать это каждый раз при добавлении пакетов nwe;) – andcl

0

Вы можете попробовать это, так как это система, которую я обычно использую: «Максимальный размер стека вызовов превысил»

> npm install --no-bin-links 
> npm install --no-bin-links 
> npm rebuild node-sass 

Первые npm install Ususally ошибки вне с. Второй npm install поднимает место, где он остановился, и завершает установку. node-sass обычно прерывается, поэтому npm rebuild исправляет установку node-sass.

 Смежные вопросы

  • Нет связанных вопросов^_^