错误:无法解析环境生产:是一个目录 - 使用vagrant和puphpet

6

我确定我错过了一些简单的东西,但是在运行vagrant up时出现了这个错误。

==> default: Error: Could not parse for environment production: Is a directory - /tmp/vagrant-puppet/manifests-75f35e3bc7e32744860c4bb229c88812 on node local.company.com
==> default: Error: Could not parse for environment production: Is a directory - /tmp/vagrant-puppet/manifests-75f35e3bc7e32744860c4bb229c88812 on node local.company.com

当我使用 vagrant ssh 命令时,很多软件包(如php、mysql、apache)都没有安装。我已经在Ubuntu 12.04和14.04环境中尝试过。

以下是我的config.yaml配置文件:

vagrantfile:
target: local
vm:
    box: puphpet/ubuntu1204-x64
    box_url: puphpet/ubuntu1204-x64
    hostname: local.company.com
    memory: '1024'
    cpus: '2'
    chosen_provider: virtualbox
    network:
        private_network: 192.168.56.101
        forwarded_port: {  }
    post_up_message: ''
    provider:
        virtualbox:
            modifyvm:
                natdnshostresolver1: 'on'
            showgui: '0'
        vmware:
            numvcpus: 1
        parallels:
            cpus: 1
    provision:
        puppet:
            manifests_path: puphpet/puppet/manifests
            module_path: puphpet/puppet/modules
            options:
                - '--verbose'
                - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
    synced_folder:
        vflsf_wl9nzy0st9mc:
            source: ./
            target: /var/sites/devoffice
            sync_type: nfs
            smb:
                smb_host: ''
                smb_username: ''
                smb_password: ''
            rsync:
                args:
                    - '--verbose'
                    - '--archive'
                    - '-z'
                exclude:
                    - .vagrant/
                    - .git/
                auto: 'true'
            owner: www-data
            group: www-data
    usable_port_range:
        start: 10200
        stop: 10500
ssh:
    host: null
    port: null
    private_key_path: null
    username: vagrant
    guest_port: null
    keep_alive: true
    forward_agent: false
    forward_x11: false
    shell: 'bash -l'
    insert_key: false
vagrant:
    host: detect
server:
    install: '1'
    packages: {  }
users_groups:
    install: '1'
    groups: {  }
    users: {  }
locale:
    install: '1'
    settings:
        default_locale: ''
        locales: {  }
firewall:
    install: '1'
    rules: {  }
cron:
    install: '1'
    jobs: {  }
nginx:
    install: '0'
    settings:
        default_vhost: 1
        proxy_buffer_size: 128k
        proxy_buffers: '4 256k'
        proxy_connect_timeout: 600s
        proxy_send_timeout: 600s
        proxy_read_timeout: 600s
        names_hash_bucket_size: 128
    upstreams: {  }
    vhosts:
        nxv_1zz0kbyjvv69:
            server_name: local.company.com
            www_root: /var/www/admin-v1
            listen_port: '80'
            index_files:
                - index.php
            client_max_body_size: 1m
            ssl: '1'
            ssl_cert: ''
            ssl_key: ''
            ssl_port: '443'
            ssl_protocols: ''
            ssl_ciphers: ''
            rewrite_to_https: '1'
            spdy: '1'
            locations:
                nxvl_2665t25gmpuy:
                    location: /
                    autoindex: 'off'
                    internal: 'false'
                    try_files:
                        - $uri
                        - $uri/
                        - /index.php$is_args$args
                    fastcgi: ''
                    fastcgi_index: ''
                    fastcgi_split_path: ''
                    proxy: ''
                    proxy_redirect: ''
                nxvl_xmvfqqvh9doe:
                    location: '~ \.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 $request_filename'
                        - 'APP_ENV dev'
                    set:
                        - '$path_info $fastcgi_path_info'
                    proxy: ''
                    proxy_redirect: ''
    proxies: {  }
apache:
    install: '1'
    settings:
        user: www-data
        group: www-data
        default_vhost: true
        manage_user: false
        manage_group: false
        sendfile: 0
    modules:
        - proxy_fcgi
        - rewrite
    vhosts:
        av_iwuq9x9j83hm:
            servername: local.company.com
            docroot: /var/sites/devoffice/admin-v1
            port: '443'
            setenv:
                - 'APP_ENV dev'
            setenvif:
                - 'Authorization "(.*)" HTTP_AUTHORIZATION=$1'
            custom_fragment: ''
            ssl: '1'
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''
            ssl_protocol: ''
            ssl_cipher: ''
php:
    install: '1'
    settings:
        version: '56'
    modules:
        php:
            - cli
            - intl
            - mcrypt
        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_vstyf2feqrjw:
            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: '1'
    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: v0.19.0
drush:
    install: '0'
    version: 6.3.0
ruby:
    install: '1'
    versions: {  }
python:
    install: '1'
    packages: {  }
    versions: {  }
nodejs:
    install: '1'
    npm_packages: {  }
hhvm:
    install: '0'
    nightly: 0
    composer: '1'
    composer_home: ''
    settings: {  }
    server_ini:
        hhvm.server.host: 127.0.0.1
        hhvm.server.port: '9000'
        hhvm.log.use_log_file: '1'
        hhvm.log.file: /var/log/hhvm/error.log
    php_ini:
        display_errors: 'On'
        error_reporting: '-1'
        date.timezone: UTC
mariadb:
    install: '0'
    settings:
        version: '10.1'
        root_password: '123'
        override_options: {  }
    adminer: 0
    users:
        mariadbnu_k90oiyvvczk8:
            name: dbuser
            password: '123'
    databases:
        mariadbnd_65a8qo8f2pqr:
            name: dbname
            sql: ''
    grants:
        mariadbng_8r6dvf23am4e:
            user: dbuser
            table: '*.*'
            privileges:
                - ALL
mysql:
    install: '1'
    settings:
        version: '5.5'
        root_password: '123'
        override_options: {  }
    adminer: 0
    users:
        mysqlnu_zrpf1arlvuul:
            name: dbuser
            password: '123'
    databases:
        mysqlnd_u7r68nbams0v:
            name: zaycon_db
            sql: ''
    grants: {  }
postgresql:
    install: '0'
    settings:
        global:
            encoding: UTF8
            version: '9.4'
        server:
            postgres_password: '123'
    databases: {  }
    users: {  }
    grants: {  }
    adminer: 0
mongodb:
    install: '0'
    settings:
        auth: 1
        bind_ip: 127.0.0.1
        port: '27017'
    databases: {  }
redis:
    install: '0'
    settings:
        conf_port: '6379'
sqlite:
    install: '0'
    adminer: 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: 1.4.1
        java_install: true
solr:
    install: '0'
    settings:
        version: 4.10.2
        port: '8984'

我发现了这篇帖子:https://ask.puppetlabs.com/question/16590/error-400-on-server-could-not-parse-for-environment/,它说我需要使用 Puppet 3.5。默认安装的是 Puppet 3.4.3。这可能就是原因,但我无法理解为什么只有我遇到这个问题。 - Ethan22
我运行了 vagrant box update 命令来更新我的虚拟机,但是它显示我已经安装了最新版本。 - Ethan22
最近几天在使用新的框时也遇到了完全相同的问题。 - kaiser
@Ethan22 vagrant box update 不一定会升级 Puppet,您可以通过 provisioning 或直接从 box 中进行升级,然后重新运行 vagrant provision - Frederic Henri
我尝试在盒子中更新Puppet,但它一直告诉我版本是3.4.3。我不认为我正在更新正确的程序,但我尝试过的所有方法都没有起作用。你有什么页面或命令可以让我尝试吗? - Ethan22
1
@kaiser 是的,我注意到有人在我之后几个小时发布了一个与puphpet git相同问题的问题。这让我感觉好多了,我不是唯一一个遇到这个问题的人。我想知道这是否与他们在主页上发布的更新有关,该更新将于1日更新到puppet 3.4.3。 - Ethan22
3个回答

6

我花了很长时间尝试通过apt-get更新或重新安装puppet。结果发现它最初是通过ruby安装的,因此这个简单的命令可以解决这个问题。

vagrant ssh 进入服务器,sudo su 然后 gem install puppet,退出服务器。运行 vagrant provision

更新:这确实是升级问题,但 vagrant box update 无法工作的原因是hashicorp在Puphpet更新其框时没有与其他框一起发布此框。


谢谢!正在工作!更多信息请参见@jtreminio的https://github.com/puphpet/puphpet/issues/2013#issuecomment-161830087 - Pavel A.
"gem install puppet" 可能需要一些时间,请去冲杯咖啡。 - J. Overmars

3
请更新您的盒子。不要安装Puppet,puphpet盒子已经预装了4.3.x版本。
来源:am puphpet

2

在升级Vagrant后,我遇到了相同的问题。

在执行vagrant up之前,先执行一次vagrant box update


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接