Я пытаюсь настроить локальную среду разработки, состоящую из:
- Ubuntu server vagrant box
- Мой существующий проект vuejs, созданный с использованием Vue CLI 3 и переданный vagrant через
synced_folder
- Затем запустите yarn run serve и получите доступ к нему на моем хосте, используя переадресацию портов на бродячее поле.
Справка:
Я разработал проект vue CLI 3 на своем ноутбуке Ubuntu 16.04, который работает хорошо, однако я хочу переместить его в бродячую коробку, чтобы сохранить порядок на моей локальной машине. В настоящее время я использую yarn run serve
, который работает хорошо. Я хочу иметь возможность запускать эту команду в новой бродячей среде разработки.
Краткое изложение проблем / вопросов:
- команда
vue
не найдена после установки ее зависимостей
- проблем с разрешением, выплевываемых пряжей при попытке запустить
yarn run serve
внутри бродячей коробки
- появляется сообщение
fsevents@1.2.4
, когда yarn global add @vue/cli
Подготовка локальной среды разработки:
Vagrantfile
:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "webserver_dev" do |webserver_dev|
webserver_dev.vm.box = "ubuntu/xenial64"
webserver_dev.vm.network "private_network", ip: "192.168.33.10"
webserver_dev.vm.network "forwarded_port", guest: 80, host: 8888
webserver_dev.vm.network "forwarded_port", guest: 8080, host: 8080
webserver_dev.vm.hostname = "develop.dev"
webserver_dev.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
webserver_dev.ssh.forward_agent = true
webserver_dev.vm.provider "virtualbox" do |vb|
vb.memory = "1824"
vb.cpus = "2"
end
end
end
Предоставление бродяги: ubuntu/xenial64 (virtualbox, 20180802.0.0)
:
sudo apt update && sudo apt upgrade
sudo apt install build-essential libssl-dev -y
# install node and npm:
cd ~
curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
# install yarn
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
# Show installed versions
yarn -v (outputs 1.9.4)
node -v (outputs v10.9.0)
npm -v (outputs 6.2.0)
Проблемы / вопросы Вывод:
Когда я перехожу к моей существующей папке проекта vue и запускаю yarn run serve
внутри vagrant ssh, я получаю следующую ошибку:
yarn run v1.9.4
$ vue-cli-service serve
/bin/sh: 1: vue-cli-service: Permission denied
error Command failed with exit code 126.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Когда я бегу sudo yarn run serve
(Мне все равно не нужно запускать это как root, но:)
yarn run v1.9.4
$ vue-cli-service serve
/bin/sh: 1: vue-cli-service: Permission denied
error Command failed with exit code 126.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Бег vue --version
vagrant@cc:~$ vue --version
No command 'vue' found, did you mean:
Command 'vpe' from package 'texlive-latex-extra' (universe)
vue: command not found
Выход из режима работы yarn global add @vue/cli
Как показано в официальной установке vue-cli документация
ПРИМЕЧАНИЕ: Полученное сообщение fsevents@1.2.4
. Может ли это быть причиной проблем?
vagrant@cu:~$ yarn global add @vue/cli
yarn global v1.9.4
[1/4] Resolving packages...
[2/4] Fetching packages...
[----------------------------------------------------------------------------------------------------------------------------------------] 0/617(node:7694) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
info fsevents@1.2.4: The platform "linux" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "@vue/cli@3.0.1" with binaries:
- vue
Done in 58.25s.
Резюме:
Кто-нибудь достиг локальной среды разработки, где он может успешно запускать yarn run serve
внутри нее и получать доступ к результату на своем хост-компьютере?
Мне было бы очень интересно узнать, как другие разработчики подходят к своей локальной разработке для проектов vue js, у которых также есть другие службы, требующие обратных прокси (например, приложение узла js, работающее на другом порту).
Я потратил очень много времени, пытаясь настроить это безрезультатно. Может быть, эти инструменты просто плохо играют вместе. Если вы думаете, что могли бы помочь, я был бы очень благодарен. Спасибо