Composer 使用相同的 composer.json 文件生成不同的包目录名称
Composer generates differnt package directory names with same composer.json file
我正在使用 composer 加载我的 Yii2 应用程序的所有依赖项。
我还使用 Asset Packagist 与 composer 一起管理 bower 的东西。
如果我将我的应用程序部署到不同的系统,我注意到,相同的 composer.json
会生成不同的资源目录。
示例:
我使用 composer.json
文件中的以下行从 Asset Packagist 加载 rowGrid 库:
"bower-asset/rowGrid.js": "1.0.6",
在我的开发机器上,这会创建一个这样的文件夹 /path/to/vendor/stuff/bower-asset/rowGrid.js
。
运行同一个composerfile在不同机器上,composer为rowGrid库创建如下路径:path/to/vendor/stuff/bower-asset/rowgrid.js
。在这里,rowgrid.js
中有一个小的 g
,如果应用程序试图访问 die rowGrid 库,这会导致问题。
为什么 composer 使用不同的路径名?
...我该如何处理这个问题?
//编辑:
有没有办法为特定的 bower-library 定义目标导向器?
如果有人有同样的问题,回答我自己的问题:
在系统 A 上,bower asset rowGrid 是很久以前从 fxp Asset Packagist 安装的。 (不知道,这个重要不重要)这时候下载的库rowGrid安装到bower-asset Path: vendor/bower-asset/rowGrid.js
这个也是set/documented 在ìnstalled.json
文件。
删除全局安装的 "fxp Asset Packagist"-插件并没有改变任何东西,因为映射,安装位置 rowGrid.js,在 installed.json
中没有被触及。另外 composer update
没有任何改变。
但是:从系统 a 中删除包 rowGrid 也会删除 installed.json
处的映射。再次重新安装 rowGrid 库时,composer 从 Asset Packagist 获取了相同的版本,但可能还收到了新的安装路径,现在是小写的:rowgrid.js/
。该库现在安装在 vendor/bower-asset/rowgrid.js
相同的(最后一步)发生在系统 b 上:获取与系统 a 具有相同 rowGrid 版本号的当前包,该包安装在 vendor/bower-asset/rowgrid.js
中。
我正在使用 composer 加载我的 Yii2 应用程序的所有依赖项。 我还使用 Asset Packagist 与 composer 一起管理 bower 的东西。
如果我将我的应用程序部署到不同的系统,我注意到,相同的 composer.json
会生成不同的资源目录。
示例:
我使用 composer.json
文件中的以下行从 Asset Packagist 加载 rowGrid 库:
"bower-asset/rowGrid.js": "1.0.6",
在我的开发机器上,这会创建一个这样的文件夹 /path/to/vendor/stuff/bower-asset/rowGrid.js
。
运行同一个composerfile在不同机器上,composer为rowGrid库创建如下路径:path/to/vendor/stuff/bower-asset/rowgrid.js
。在这里,rowgrid.js
中有一个小的 g
,如果应用程序试图访问 die rowGrid 库,这会导致问题。
为什么 composer 使用不同的路径名? ...我该如何处理这个问题?
//编辑:
有没有办法为特定的 bower-library 定义目标导向器?
如果有人有同样的问题,回答我自己的问题:
在系统 A 上,bower asset rowGrid 是很久以前从 fxp Asset Packagist 安装的。 (不知道,这个重要不重要)这时候下载的库rowGrid安装到bower-asset Path: vendor/bower-asset/rowGrid.js
这个也是set/documented 在ìnstalled.json
文件。
删除全局安装的 "fxp Asset Packagist"-插件并没有改变任何东西,因为映射,安装位置 rowGrid.js,在 installed.json
中没有被触及。另外 composer update
没有任何改变。
但是:从系统 a 中删除包 rowGrid 也会删除 installed.json
处的映射。再次重新安装 rowGrid 库时,composer 从 Asset Packagist 获取了相同的版本,但可能还收到了新的安装路径,现在是小写的:rowgrid.js/
。该库现在安装在 vendor/bower-asset/rowgrid.js
相同的(最后一步)发生在系统 b 上:获取与系统 a 具有相同 rowGrid 版本号的当前包,该包安装在 vendor/bower-asset/rowgrid.js
中。