从documentation我看到它可以创建一个laravel项目 通过laravel安装程序:
$laravel new blog
或通过作曲家:
$composer create-project laravel/laravel --prefer-dist
如果我尝试第一种方式.env文件未创建。 我怎样才能让laravel,artisan或composer为我创建一个.env文件?
答案 0 :(得分:51)
我尝试了两种方式,并以两种方式生成.env
文件:
Composer应该自动创建.env文件。在post-create-project-cmd
的{{1}}部分,您可以找到:
composer.json
两种方式都使用相同的"post-create-project-cmd": [
"php -r \"copy('.env.example', '.env');\"",
"php artisan key:generate"
]
文件,因此没有任何区别。
我建议您将composer.json
更新为last version:1.2,然后重试:
laravel/installer
您始终可以通过以下方式手动生成composer global require "laravel/installer=~1.2"
文件:
.env
答案 1 :(得分:18)
在Windows操作系统中,您可以打开命令提示符,将目录更改为项目目录
例如,
我的项目目录
E:\xampp\htdocs\my_project
您可以像这样输入命令提示符(点击输入每一行):
E:
cd xampp\htdocs\my_project
然后你可以输入,
copy .env.example .env
如果您使用的是Linux,则可以输入 cp ,而不是 copy
答案 2 :(得分:14)
我遇到了项目中没有.env文件的问题。
原来我使用的IDE(Netbeans,尽量不判断)会显示某些类型的.hidden文件但不是全部。
在绞尽脑汁之后我检查了文件系统并找到了.env + .env.example文件/用文本编辑器修改它们。
对于罕见的情况,有人使用像我这样的狡猾的IDE。
答案 3 :(得分:5)
如果缺少.env
个文件,那么还有另一种方法可以生成.env文件
您可以下载env.example,将其重命名为.env
并进行编辑。只需设置正确的DB凭据等。
不要忘记当您使用php artisan key:generate
时,它会生成.env
文件的新密钥
答案 4 :(得分:2)
.env
个文件。为了表明他们这样做:
工具>选项>其他>文件
在忽略的文件下,IDE是忽略的文件模式:
默认为
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(htaccess|git.+|hgignore)$).*$
将env添加到排除未排除的位
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(env|htaccess|git.+|hgignore)$).*$
现在显示名为.env
的文件。
答案 5 :(得分:2)
在console(cmd)中,转到app root path并执行:
type .env.example > .env
答案 6 :(得分:1)
如果您无法查看 .env 文件,或者该文件未显示在项目中,请执行以下操作:ls -a
。
这样可以查看Linux中的隐藏文件。您还可以使用Visual Studio Code打开该文件夹,您将看到文件并能够对其进行修改。
答案 7 :(得分:0)
这是一个旧线程,但由于它在26天前仍然被查看并且最近处于活动状态,因此这是一个快速解决方案。
最初没有 .env 文件,您必须将 .env.example 复制为 .env 。
在 Windows 中,您可以打开命令提示符,又称 CLI ,并在根目录中粘贴下面的确切代码项目。必须包含(在没有空格的起始行。
(
echo APP_NAME=Laravel
echo APP_ENV=local
echo APP_KEY=
echo APP_DEBUG=true
echo APP_URL=http://localhost
echo.
echo LOG_CHANNEL=stack
echo.
echo DB_CONNECTION=mysql
echo DB_HOST=127.0.0.1
echo DB_PORT=3306
echo DB_DATABASE=homestead
echo DB_USERNAME=homestead
echo DB_PASSWORD=secret
echo.
echo BROADCAST_DRIVER=log
echo CACHE_DRIVER=file
echo SESSION_DRIVER=file
echo SESSION_LIFETIME=120
echo QUEUE_DRIVER=sync
echo.
echo REDIS_HOST=127.0.0.1
echo REDIS_PASSWORD=null
echo REDIS_PORT=6379
echo.
echo MAIL_DRIVER=smtp
echo MAIL_HOST=smtp.mailtrap.io
echo MAIL_PORT=2525
echo MAIL_USERNAME=null
echo MAIL_PASSWORD=null
echo MAIL_ENCRYPTION=null
echo.
echo PUSHER_APP_ID=
echo PUSHER_APP_KEY=
echo PUSHER_APP_SECRET=
echo PUSHER_APP_CLUSTER=mt1
echo.
echo MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
echo MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
)>".env"
只需按Enter键即可退出提示,您应该拥有.env
文件,其中包含您在CLI
命令上方输入的同一目录中创建的默认设置。
希望这有帮助。
答案 8 :(得分:0)
还有另一种原因解释为什么.env
不存在,并且在您移动所有Laravel文件时会发生这种情况。
执行此工作流程:在项目目录中执行laravel new whatever
,在whatever
中安装Laravel,然后执行mv * ..
将所有文件移动到项目文件夹,然后删除{ {1}}。问题是,whatever
在默认情况下不会移动隐藏文件,因此mv
文件被留下并被删除!
答案 9 :(得分:-1)
使用命令创建.env!
composer运行post-root-package-install 要么 sudo composer运行post-root-package-install