PuPHPet 构建错误 - 无效选项:--manifestdir
PuPHPet build error - invalid option: --manifestdir
我正在尝试 PuPHPet,因此使用所有基本选项创建了一个存档。
尝试 vagrant up
时出现错误:
==> machine1: Error: Could not parse application options: invalid option: --manifestdir
一些调查指出了 puppet V5 不再支持 manifest_dir
选项的问题。
建议的修复是更新配置以使用环境并在配置中设置 environment
和 environments_path
。
任何人都可以阐明 config.yaml
这些需要设置的地方吗?
另外,环境文件夹需要位于 PuPHPet 目录结构中的什么位置?
我正在使用的config.yaml;
vagrantfile:
target: local
vm:
provider:
local:
box: bento/ubuntu-16.04
box_url: 'false'
box_version: '0'
chosen_virtualizer: virtualbox
virtualizers:
virtualbox:
modifyvm:
natdnshostresolver1: false
showgui: 0
vmware:
numvcpus: 1
parallels:
linked_clone: 0
check_guest_tools: 0
update_guest_tools: 0
machines:
vflm_k8bgkk2q1t9z:
id: machine1
hostname: machine1.puphpet
network:
private_network: 192.168.56.101
forwarded_port:
vflmnfp_yru3n3tlfqio:
host: '9419'
guest: '22'
memory: '512'
cpus: '1'
provision:
puppet:
manifests_path: puphpet/puppet/manifests
module_path:
- puphpet/puppet/modules
- puphpet/puppet/manifests
options:
- '--verbose'
- '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
synced_folder:
vflsf_lvspa9n8sfn3:
owner: www-data
group: www-data
source: ./
target: /var/www
sync_type: default
smb:
smb_host: ''
smb_username: ''
smb_password: ''
mount_options:
dir_mode: '0775'
file_mode: '0664'
rsync:
args:
- '--verbose'
- '--archive'
- '-z'
exclude:
- .vagrant/
- .git/
auto: 'true'
usable_port_range:
start: 10200
stop: 10500
post_up_message: ''
ssh:
host: 'false'
port: 'false'
private_key_path: 'false'
username: vagrant
guest_port: 'false'
keep_alive: '1'
forward_agent: 'false'
forward_x11: 'false'
shell: 'bash -l'
insert_key: 'false'
vagrant:
host: detect
proxy:
http: ''
https: ''
ftp: ''
no_proxy: ''
server:
install: '1'
packages:
- bash-completion
- htop
- vim
users_groups:
install: '1'
groups: { }
users: { }
locale:
install: '1'
settings:
default_locale: en_US.UTF-8
locales:
- en_GB.UTF-8
- en_US.UTF-8
timezone: UTC
firewall:
install: '1'
rules: { }
resolv:
install: '1'
nameservers:
- 8.8.8.8
- 8.8.4.4
domainname: ''
searchpath: { }
cron:
install: '1'
jobs: { }
nginx:
install: '0'
settings:
version: present
default_vhost: 1
proxy_buffers: '4 256k'
proxy_buffer_size: 128k
proxy_connect_timeout: 600s
proxy_send_timeout: 600s
proxy_read_timeout: 600s
names_hash_bucket_size: 128
upstreams: { }
vhosts:
nxv_9iotkb0epf2c:
server_name: awesome.dev
server_aliases:
- www.awesome.dev
www_root: /var/www/awesome
listen_port: '80'
client_max_body_size: 1m
ssl: '0'
locations:
nxvl_jjk47mtl0r5o:
www_root: /var/www/awesome/web
location: /
autoindex: 'off'
internal: 'false'
index_files:
- index.html
- index.php
- app.php
try_files:
- $uri
- $uri/
- /index.php$is_args$args
- /app.php$is_args$args
fastcgi: ''
fastcgi_index: ''
fastcgi_split_path: ''
proxy: ''
proxy_redirect: ''
nxvl_8j0icnvn334t:
www_root: /var/www/awesome/web
location: '~ ^/(app_dev|config)\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /app_dev.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: app_dev.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
- 'APP_ENV dev'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
nxvl_fan1klxugnqt:
www_root: /var/www/awesome/web
location: '~ ^/index\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /index.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: index.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
nxvl_5grri35wy80b:
www_root: /var/www/awesome/web
location: '~ ^/app\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /app.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: app.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
- 'APP_ENV prod'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
proxies: { }
apache:
install: '1'
settings:
version: 2.4
user: www-data
group: www-data
default_vhost: true
manage_user: false
manage_group: false
sendfile: 0
modules:
- proxy_fcgi
- rewrite
vhosts:
av_2bg7c7vda1pb:
servername: awesome.dev
serveraliases:
- www.awesome.dev
docroot: /var/www/awesome/web
port: '80'
setenvif:
- 'Authorization "(.*)" HTTP_AUTHORIZATION='
custom_fragment: ''
ssl: '0'
ssl_cert: LETSENCRYPT
ssl_key: LETSENCRYPT
ssl_chain: LETSENCRYPT
ssl_certs_dir: LETSENCRYPT
ssl_protocol: ''
ssl_cipher: ''
directories:
avd_ayxmp8ol7nqw:
path: /var/www/awesome/web
directoryindex: 'index.php app.dev'
options:
- Indexes
- FollowSymlinks
- MultiViews
allow_override:
- All
require:
- 'all granted'
custom_fragment: ''
provider: directory
files_match:
avfm_5mduocupch06:
path: (app_dev|config)\.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
setenv:
- 'APP_ENV dev'
custom_fragment: ''
provider: filesmatch
avfm_h7xbhb0zqsoq:
path: app\.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
setenv:
- 'APP_ENV prod'
custom_fragment: ''
provider: filesmatch
avfm_bgd9dcbawlo8:
path: \.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
custom_fragment: ''
provider: filesmatch
letsencrypt:
install: '1'
settings:
email: ''
webserver_service: ''
domains: { }
php:
install: '1'
settings:
version: '7.2'
modules:
php:
- cli
- intl
- xml
pear: { }
pecl: { }
ini:
display_errors: 'On'
error_reporting: '-1'
session.save_path: /var/lib/php/session
date.timezone: UTC
fpm_ini:
error_log: /var/log/php-fpm.log
fpm_pools:
phpfp_kk90qv3if70v:
ini:
prefix: www
listen: '127.0.0.1:9000'
security.limit_extensions: .php
user: www-user
group: www-data
composer: '1'
composer_home: ''
xdebug:
install: '0'
settings:
xdebug.default_enable: '1'
xdebug.remote_autostart: '0'
xdebug.remote_connect_back: '1'
xdebug.remote_enable: '1'
xdebug.remote_handler: dbgp
xdebug.remote_port: '9000'
blackfire:
install: '0'
settings:
server_id: ''
server_token: ''
agent:
http_proxy: ''
https_proxy: ''
log_file: stderr
log_level: '1'
php:
agent_timeout: '0.25'
log_file: ''
log_level: '1'
xhprof:
install: '0'
wpcli:
install: '0'
version: v1.1.0
drush:
install: '0'
version: 8.0.5
ruby:
install: '1'
versions:
rv_45pl5r1olefv:
default: '1'
bundler: '1'
version: '2.4'
gems:
- deep_merge@1.2.1
- activesupport@5.1.4
- vine@0.4
python:
install: '1'
packages: { }
versions: { }
nodejs:
install: '0'
settings:
version: '6'
npm_packages: { }
mariadb:
install: '0'
settings:
version: '10.1'
root_password: '123'
override_options: { }
users:
mariadbnu_lxzy8vptfdcv:
name: dbuser
password: '123'
databases:
mariadbnd_vch18hn8fy7h:
name: dbname
sql: ''
grants:
mariadbng_dkhxul0k78c2:
user: dbuser
table: '*.*'
privileges:
- ALL
mysql:
install: '1'
settings:
version: '5.7'
root_password: '123'
override_options: { }
users:
mysqlnu_rew8wtlnfqjm:
name: dbuser
password: '123'
databases:
mysqlnd_xmr4nhv1e4ki:
name: dbname
sql: ''
grants:
mysqlng_eg463msh1guu:
user: dbuser
table: '*.*'
privileges:
- ALL
postgresql:
install: '0'
settings:
global:
encoding: UTF8
version: '9.6'
server:
postgres_password: '123'
databases: { }
users: { }
grants: { }
mongodb:
install: '0'
settings:
bind_ip: 127.0.0.1
port: '27017'
globals:
version: 3.6.2
databases: { }
redis:
install: '0'
settings:
port: '6379'
sqlite:
install: '0'
databases: { }
mailhog:
install: '0'
settings:
smtp_ip: 0.0.0.0
smtp_port: 1025
http_ip: 0.0.0.0
http_port: '8025'
path: /usr/local/bin/mailhog
beanstalkd:
install: '0'
settings:
listenaddress: 0.0.0.0
listenport: '11300'
maxjobsize: '65535'
maxconnections: '1024'
binlogdir: /var/lib/beanstalkd/binlog
binlogfsync: null
binlogsize: '10485760'
beanstalk_console: 0
rabbitmq:
install: '0'
settings:
port: '5672'
users: { }
vhosts: { }
plugins: { }
elastic_search:
install: '0'
settings:
version: 6.1.2
java_install: true
instances:
esi_qgdjc41v6s8n:
name: es-01
jvm_options:
- '-Xms2G'
- '-Xmx2G'
第 1 步:
打开puphpet/vagrant/Vagrantfile-local
第 2 步:
找到这行代码:
puppet.manifests_path = "#{data['vm']['provision']['puppet']['manifests_path']}"
第 3 步:
在前面step 2
中提到的代码行之前插入这两行代码
puppet.environment_path = "#{data['vm']['provision']['puppet']['environment_path']}"
puppet.environment = "#{data['vm']['provision']['puppet']['environment']}"
现在应该是这样的:
第 4 步:
打开puphpet/config.yaml
第 5 步:
找到这行代码:
manifests_path: puphpet/puppet/manifests
第 6 步:
在step 5
之前提到的代码行之前插入这两行代码
environment_path: puphpet/puppet/environments
environment: development
现在应该是这样的:
第 7 步:
转到puphpet/puppet
目录并创建一个新目录并将其命名为environments
并在environments
目录中创建另一个目录并将其命名为development
结构应如下所示:
大功告成!!!
但请确保 运行 vagrant provision
加载新配置。
我正在尝试 PuPHPet,因此使用所有基本选项创建了一个存档。
尝试 vagrant up
时出现错误:
==> machine1: Error: Could not parse application options: invalid option: --manifestdir
一些调查指出了 puppet V5 不再支持 manifest_dir
选项的问题。
建议的修复是更新配置以使用环境并在配置中设置 environment
和 environments_path
。
任何人都可以阐明 config.yaml
这些需要设置的地方吗?
另外,环境文件夹需要位于 PuPHPet 目录结构中的什么位置?
我正在使用的config.yaml;
vagrantfile:
target: local
vm:
provider:
local:
box: bento/ubuntu-16.04
box_url: 'false'
box_version: '0'
chosen_virtualizer: virtualbox
virtualizers:
virtualbox:
modifyvm:
natdnshostresolver1: false
showgui: 0
vmware:
numvcpus: 1
parallels:
linked_clone: 0
check_guest_tools: 0
update_guest_tools: 0
machines:
vflm_k8bgkk2q1t9z:
id: machine1
hostname: machine1.puphpet
network:
private_network: 192.168.56.101
forwarded_port:
vflmnfp_yru3n3tlfqio:
host: '9419'
guest: '22'
memory: '512'
cpus: '1'
provision:
puppet:
manifests_path: puphpet/puppet/manifests
module_path:
- puphpet/puppet/modules
- puphpet/puppet/manifests
options:
- '--verbose'
- '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
synced_folder:
vflsf_lvspa9n8sfn3:
owner: www-data
group: www-data
source: ./
target: /var/www
sync_type: default
smb:
smb_host: ''
smb_username: ''
smb_password: ''
mount_options:
dir_mode: '0775'
file_mode: '0664'
rsync:
args:
- '--verbose'
- '--archive'
- '-z'
exclude:
- .vagrant/
- .git/
auto: 'true'
usable_port_range:
start: 10200
stop: 10500
post_up_message: ''
ssh:
host: 'false'
port: 'false'
private_key_path: 'false'
username: vagrant
guest_port: 'false'
keep_alive: '1'
forward_agent: 'false'
forward_x11: 'false'
shell: 'bash -l'
insert_key: 'false'
vagrant:
host: detect
proxy:
http: ''
https: ''
ftp: ''
no_proxy: ''
server:
install: '1'
packages:
- bash-completion
- htop
- vim
users_groups:
install: '1'
groups: { }
users: { }
locale:
install: '1'
settings:
default_locale: en_US.UTF-8
locales:
- en_GB.UTF-8
- en_US.UTF-8
timezone: UTC
firewall:
install: '1'
rules: { }
resolv:
install: '1'
nameservers:
- 8.8.8.8
- 8.8.4.4
domainname: ''
searchpath: { }
cron:
install: '1'
jobs: { }
nginx:
install: '0'
settings:
version: present
default_vhost: 1
proxy_buffers: '4 256k'
proxy_buffer_size: 128k
proxy_connect_timeout: 600s
proxy_send_timeout: 600s
proxy_read_timeout: 600s
names_hash_bucket_size: 128
upstreams: { }
vhosts:
nxv_9iotkb0epf2c:
server_name: awesome.dev
server_aliases:
- www.awesome.dev
www_root: /var/www/awesome
listen_port: '80'
client_max_body_size: 1m
ssl: '0'
locations:
nxvl_jjk47mtl0r5o:
www_root: /var/www/awesome/web
location: /
autoindex: 'off'
internal: 'false'
index_files:
- index.html
- index.php
- app.php
try_files:
- $uri
- $uri/
- /index.php$is_args$args
- /app.php$is_args$args
fastcgi: ''
fastcgi_index: ''
fastcgi_split_path: ''
proxy: ''
proxy_redirect: ''
nxvl_8j0icnvn334t:
www_root: /var/www/awesome/web
location: '~ ^/(app_dev|config)\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /app_dev.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: app_dev.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
- 'APP_ENV dev'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
nxvl_fan1klxugnqt:
www_root: /var/www/awesome/web
location: '~ ^/index\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /index.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: index.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
nxvl_5grri35wy80b:
www_root: /var/www/awesome/web
location: '~ ^/app\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /app.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: app.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
- 'APP_ENV prod'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
proxies: { }
apache:
install: '1'
settings:
version: 2.4
user: www-data
group: www-data
default_vhost: true
manage_user: false
manage_group: false
sendfile: 0
modules:
- proxy_fcgi
- rewrite
vhosts:
av_2bg7c7vda1pb:
servername: awesome.dev
serveraliases:
- www.awesome.dev
docroot: /var/www/awesome/web
port: '80'
setenvif:
- 'Authorization "(.*)" HTTP_AUTHORIZATION='
custom_fragment: ''
ssl: '0'
ssl_cert: LETSENCRYPT
ssl_key: LETSENCRYPT
ssl_chain: LETSENCRYPT
ssl_certs_dir: LETSENCRYPT
ssl_protocol: ''
ssl_cipher: ''
directories:
avd_ayxmp8ol7nqw:
path: /var/www/awesome/web
directoryindex: 'index.php app.dev'
options:
- Indexes
- FollowSymlinks
- MultiViews
allow_override:
- All
require:
- 'all granted'
custom_fragment: ''
provider: directory
files_match:
avfm_5mduocupch06:
path: (app_dev|config)\.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
setenv:
- 'APP_ENV dev'
custom_fragment: ''
provider: filesmatch
avfm_h7xbhb0zqsoq:
path: app\.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
setenv:
- 'APP_ENV prod'
custom_fragment: ''
provider: filesmatch
avfm_bgd9dcbawlo8:
path: \.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
custom_fragment: ''
provider: filesmatch
letsencrypt:
install: '1'
settings:
email: ''
webserver_service: ''
domains: { }
php:
install: '1'
settings:
version: '7.2'
modules:
php:
- cli
- intl
- xml
pear: { }
pecl: { }
ini:
display_errors: 'On'
error_reporting: '-1'
session.save_path: /var/lib/php/session
date.timezone: UTC
fpm_ini:
error_log: /var/log/php-fpm.log
fpm_pools:
phpfp_kk90qv3if70v:
ini:
prefix: www
listen: '127.0.0.1:9000'
security.limit_extensions: .php
user: www-user
group: www-data
composer: '1'
composer_home: ''
xdebug:
install: '0'
settings:
xdebug.default_enable: '1'
xdebug.remote_autostart: '0'
xdebug.remote_connect_back: '1'
xdebug.remote_enable: '1'
xdebug.remote_handler: dbgp
xdebug.remote_port: '9000'
blackfire:
install: '0'
settings:
server_id: ''
server_token: ''
agent:
http_proxy: ''
https_proxy: ''
log_file: stderr
log_level: '1'
php:
agent_timeout: '0.25'
log_file: ''
log_level: '1'
xhprof:
install: '0'
wpcli:
install: '0'
version: v1.1.0
drush:
install: '0'
version: 8.0.5
ruby:
install: '1'
versions:
rv_45pl5r1olefv:
default: '1'
bundler: '1'
version: '2.4'
gems:
- deep_merge@1.2.1
- activesupport@5.1.4
- vine@0.4
python:
install: '1'
packages: { }
versions: { }
nodejs:
install: '0'
settings:
version: '6'
npm_packages: { }
mariadb:
install: '0'
settings:
version: '10.1'
root_password: '123'
override_options: { }
users:
mariadbnu_lxzy8vptfdcv:
name: dbuser
password: '123'
databases:
mariadbnd_vch18hn8fy7h:
name: dbname
sql: ''
grants:
mariadbng_dkhxul0k78c2:
user: dbuser
table: '*.*'
privileges:
- ALL
mysql:
install: '1'
settings:
version: '5.7'
root_password: '123'
override_options: { }
users:
mysqlnu_rew8wtlnfqjm:
name: dbuser
password: '123'
databases:
mysqlnd_xmr4nhv1e4ki:
name: dbname
sql: ''
grants:
mysqlng_eg463msh1guu:
user: dbuser
table: '*.*'
privileges:
- ALL
postgresql:
install: '0'
settings:
global:
encoding: UTF8
version: '9.6'
server:
postgres_password: '123'
databases: { }
users: { }
grants: { }
mongodb:
install: '0'
settings:
bind_ip: 127.0.0.1
port: '27017'
globals:
version: 3.6.2
databases: { }
redis:
install: '0'
settings:
port: '6379'
sqlite:
install: '0'
databases: { }
mailhog:
install: '0'
settings:
smtp_ip: 0.0.0.0
smtp_port: 1025
http_ip: 0.0.0.0
http_port: '8025'
path: /usr/local/bin/mailhog
beanstalkd:
install: '0'
settings:
listenaddress: 0.0.0.0
listenport: '11300'
maxjobsize: '65535'
maxconnections: '1024'
binlogdir: /var/lib/beanstalkd/binlog
binlogfsync: null
binlogsize: '10485760'
beanstalk_console: 0
rabbitmq:
install: '0'
settings:
port: '5672'
users: { }
vhosts: { }
plugins: { }
elastic_search:
install: '0'
settings:
version: 6.1.2
java_install: true
instances:
esi_qgdjc41v6s8n:
name: es-01
jvm_options:
- '-Xms2G'
- '-Xmx2G'
第 1 步:
打开puphpet/vagrant/Vagrantfile-local
第 2 步:
找到这行代码:
puppet.manifests_path = "#{data['vm']['provision']['puppet']['manifests_path']}"
第 3 步:
在前面step 2
puppet.environment_path = "#{data['vm']['provision']['puppet']['environment_path']}"
puppet.environment = "#{data['vm']['provision']['puppet']['environment']}"
现在应该是这样的:
第 4 步:
打开puphpet/config.yaml
第 5 步:
找到这行代码:
manifests_path: puphpet/puppet/manifests
第 6 步:
在step 5
environment_path: puphpet/puppet/environments
environment: development
现在应该是这样的:
第 7 步:
转到puphpet/puppet
目录并创建一个新目录并将其命名为environments
并在environments
目录中创建另一个目录并将其命名为development
结构应如下所示:
大功告成!!!
但请确保 运行 vagrant provision
加载新配置。