由于预料到天气会变冷,我决定成为一名开源贡献者。我选择了Yii2项目并阅读了doc。
我所做的步骤: 1.使用所有必要的php扩展创建vhost 2.派生Yii2存储库并在主机上克隆它3.添加上游,运行composer和npm 4. php build/build dev/app advanced
在第四步之后,我在控制台中得到了错误:
PHP Warning 'yii\base\ErrorException' with message 'chdir(): No such file or directory (errno 2)'
in /home/ghopper/Projects/yii2.test/build/controllers/DevController.php:178原来脚本试图执行cd apps/advanced,但是这个文件夹并不存在。所以,我自己创建了它,它解决了问题。
我偶然发现“现在你有了一个可以在Yii 2上进行黑客攻击的工作场所了。”在医生里,但我觉得我的回购有问题。
首先,我的目录结构与original repo中的完全相同。没有前端和后端目录。第二个问题是关于apps/advanced的-我应该从哪里获得它?
更新:
我指定了repo url并获取新错误:
ghopper@farm /var/www/yii2.test (master) $ php build/build dev/app advanced https://github.com/yiisoft/yii2-app-advanced.git
cloning application repo 'advanced' from 'https://github.com/yiisoft/yii2-app-advanced.git'...
Cloning into '/var/www/yii2.test/apps/advanced'...
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6293 (delta 2), reused 4 (delta 2), pack-reused 6286
Receiving objects: 100% (6293/6293), 1.32 MiB | 204.00 KiB/s, done.
Resolving deltas: 100% (3389/3389), done.
Checking out files: 100% (270/270), done.
done.
cleaning up application 'advanced' vendor directory...
done.
updating composer for app 'advanced'...
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 66 installs, 0 updates, 0 removals
- Installing yiisoft/yii2-composer (dev-master f4cb50d): Downloading (100%)
- Installing sebastian/version (2.0.1): Downloading (100%)
- Installing sebastian/object-reflector (dev-master 7707193): Downloading (100%)
- Installing sebastian/recursion-context (dev-master dbe1869): Downloading (100%)
- Installing sebastian/object-enumerator (dev-master 06d95dc): Downloading (100%)
- Installing sebastian/global-state (dev-master 30367ea): Downloading (100%)
...
codeception/base suggests installing stecman/symfony-console-
completion (For BASH autocompletion)
codeception/base suggests installing symfony/phpunit-bridge (For phpunit-bridge support)
Writing lock file
Generating autoload files
done.
linking framework and extensions to 'advanced' app vendor dir...
Removing dir /var/www/yii2.test/apps/advanced/vendor/yiisoft/yii2.
Creating symlink for /var/www/yii2.test/apps/advanced/vendor/yiisoft/yii2.
Removing dir /var/www/yii2.test/apps/advanced/vendor/yiisoft/yii2-gii.
Creating symlink for /var/www/yii2.test/apps/advanced/vendor/yiisoft/yii2-gii.
cloning extension repo 'gii' from 'git@github.com:yiisoft/yii2-gii.git'...
Cloning into '/var/www/yii2.test/extensions/gii'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
done.
cleaning up extension 'gii' vendor directory...
done.
updating composer for extension 'gii'...
PHP Warning 'yii\base\ErrorException' with message 'chdir(): No such file or directory (errno 2)'
in /var/www/yii2.test/build/controllers/DevController.php:233git@github.com: Permission denied (publickey).是什么意思?
发布于 2018-09-29 23:12:27
这不是真的:
URL是您的存储库分支的fork,如git@github.com:my_nickname/yii2-app-basic.git.如果你是核心框架贡献者,你可以跳过指定fork。
首先,您必须指定存储库( or i2-app-basic.git或or i2-app-Advanced.git)!
第二个问题--你必须将SSH密钥add到你的github上。
之后,一切都会正常运行,您会得到apps/advanced目录中的代码
https://stackoverflow.com/questions/52565939
复制相似问题