2016-11-08 38 views
11

當Yarn用於安裝依賴關係時,默認情況下它將它們放入node-modules目錄中。如何更改紗線默認包目錄?

如何將此更改爲Laravel resources文件夾?
.bowerrc用於涼亭設置"directory": "resources/assets"

+0

查看此鏈接僅供參考 - https://yarnpkg.com/zh/docs/package-json#toc-directories –

+2

對我這個問題還沒有回答。您需要爲服務器端安裝的軟件包(例如'express')您需要從瀏覽器端安裝的軟件包,例如'jquery','bootstrap','font-awesome'。我使用NPM服務器和涼亭爲jquery,bootstrap等...現在只用** Yarn **我仍然不知道如何改變我想要在我的'assets/vendor'文件夾中的特定庫的目的地,或者'剛剛嘗試過'node_modules' – zabumba

回答

10
yarn install --modules-folder ./resources 

UPDATE: 請關注此GitHub Issue,因爲此功能不太穩定。

更新2:Damien's下面的回答,您可以添加--install.modules-folder "./resources".yarnrc file,這樣你就不必不斷地傳遞命令行參數爲每個後續調用。請注意,需要雙引號;沒有這些,你會得到Invalid value type 1:25或類似的錯誤。

然後,您可以將.yarnrc提交到源代碼管理,以便項目中的其他開發人員可以自動使用相同的設置。

+2

這是一個可怕的解決方案。像這樣的東西需要全局選項,而不是一次性的命令行開關。我很困惑這些node.js解決方案是如何被設計在非聯網的,孤立的環境中的。許多聯網系統將用戶目錄放在網絡共享上。但GLOBAL安裝在系統級而不是用戶級。在那裏需要有一個「紗線全球安裝任意應用程序」,不需要用戶覆蓋命令行上的模塊文件夾。看起來我會提交另一個github拉請求否決。哈哈 – Armand

+0

這個有一些進展https://github.com/yarnpkg/yarn/pull/3792 –

+3

爲了記錄:你可以使用'.yarnrc'文件來設置這個選項,使用'--install.modules-folder資源'([文檔](https://yarnpkg.com/en/docs/yarnrc)) – Damien

-2

Yarn Docs,您可以在package.json文件中指定的目錄

{ 
    "directories": { 
    "lib": "path/to/lib/", 
    "bin": "path/to/bin/", 
    "man": "path/to/man/", 
    "doc": "path/to/doc/", 
    "example": "path/to/example/" 
    } 
} 

當安裝你的包,你可以指定確切位置放置二進制文件,手冊頁,文檔,實例等

+1

,但所有依賴項仍安裝在node_modules中。這對你有用嗎?這些可能是在軟件包內部對文件進行排序,如果軟件包支持它 –

+0

它不起作用。 https://stackoverflow.com/questions/48300008/how-to-change-dependency-installation-directory-at-yarn – neoerol

3

您可以創建一個.yarnrc文件,內容如下:

--modules-folder resources 

這樣每yarn命令都會有這樣的參數集。

+2

只是想補充說,即使這得到了低估,這是**正確**。此外,您可以添加範圍:'--install.module-folder'將僅爲'install'命令設置此值,而' - *。modules-folder'應該應用於每個命令(因此_應該表現出相同的行爲作爲第一個命令) –