W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
符號鏈接包文件
npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]
alias: npm ln
包鏈接是一個(gè)兩步過程。
首先,npm link
在包文件夾中將在全局文件夾{prefix}/lib/node_modules/<package>
中創(chuàng)建一個(gè)符號鏈接,該符號?鏈接鏈接到npm link
執(zhí)行命令的包。(npm-config有關(guān)的值,請參閱prefix)。它還會(huì)將包中的任何 bin 鏈接到
{prefix}/bin/{name}`.
接下來,在其他位置,npm link package-name
將創(chuàng)建從全局安裝package-name
到node_modules/
?當(dāng)前文件夾的符號鏈接。
請注意,package-name
取自package.json
,而不是來自目錄名稱。
包名稱可以選擇性地以范圍為前綴。見npm-scope。范圍必須以@-符號開頭,后跟斜杠。
創(chuàng)建 tarball 時(shí)npm publish
,鏈接的包通過解析符號鏈接“快照”到它們的當(dāng)前狀態(tài)。
這對于安裝您自己的東西非常方便,這樣您就可以對其進(jìn)行處理和迭代測試,而無需不斷重建。
例如:
cd ~/projects/node-redis # go into the package directory
npm link # creates global link
cd ~/projects/node-bloggy # go into some other package directory.
npm link redis # link-install the package
現(xiàn)在,對 ~/projects/node-redis 的任何更改都將反映在 ~/projects/node-blogger/node_modules/node-redis/ 中。請注意,鏈接應(yīng)指向包名稱,而不是該包的目錄名稱。
您也可以將兩個(gè)步驟合二為一。例如,要以更短的方式執(zhí)行上述用例:
cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
第二行相當(dāng)于做:
(cd ../node-redis; npm link)
npm link redis
也就是說,它首先創(chuàng)建一個(gè)全局鏈接,然后將全局安裝目標(biāo)鏈接到您項(xiàng)目的node_modules
文件夾中。
請注意,在這種情況下,您指的是目錄名稱node-redis
,而不是包名稱redis
。
如果你的鏈接包有范圍(請參閱npm-scope),你的鏈接命令必須包含該范圍,例如
npm link @myorg/privatepackage
請注意,默認(rèn)情況下不會(huì)保存以?這種方式鏈接的包依賴項(xiàng)package.json
,假設(shè)目的是讓鏈接代替常規(guī)的非鏈接依賴項(xiàng)。否則,例如,如果您依賴redis@^3.0.1
, 并運(yùn)行npm link redis
,它會(huì)將^3.0.1
依賴替換為file:../path/to/node-redis
,而您可能不想要!此外,如果您項(xiàng)目中的其他用戶或開發(fā)人員的文件夾設(shè)置與您的文件夾設(shè)置不完全相同,則會(huì)遇到問題。
如果要添加新的依賴項(xiàng)作為鏈接,則應(yīng)通過運(yùn)行將其添加到相關(guān)元數(shù)據(jù)中npm install <dep> --package-lock-only
。
如果您想將file:
參考保存在您的package.json
和?package-lock.json
文件中,您可以使用它npm link <dep> --save
來執(zhí)行此操作。
npm link <pkg> --workspace <name>
將相關(guān)包鏈接為指定工作區(qū)的依賴項(xiàng)。請注意node_modules
,如果沒有沖突的依賴項(xiàng),它實(shí)際上可能鏈接到父項(xiàng)目的文件夾中。
npm link --workspace <name>
?將創(chuàng)建到指定工作區(qū)的全局鏈接。
true
Boolean
將已經(jīng)安裝的包作為依賴項(xiàng)保存到 package.json
文件中。
與 npm rm
命令一起使用時(shí),從 package.json
中刪除依賴項(xiàng)。
false
Boolean
保存到 package.json
的依賴項(xiàng)將使用確切的版本進(jìn)行配置,而不是使用 npm
的默認(rèn) semver
范圍運(yùn)算符。
false
Boolean
在“全局”模式下運(yùn)行,以便將包安裝到 prefix
文件夾而不是當(dāng)前工作目錄中。有關(guān)行為差異的更多信息,可以參閱文件夾。
{prefix}/lib/node_modules
文件夾中,而不是當(dāng)前工作目錄中。bin
文件鏈接到{prefix}/bin
。{prefix}/share/man
。false
Boolean
使 npm 以node_modules
與全局node_modules
文件夾相同的布局將包安裝到本地文件夾中。只有您的直接依賴項(xiàng)會(huì)顯示在其中,node_modules
并且它們所依賴的所有內(nèi)容都將在其node_modules
文件夾中展平。這顯然會(huì)消除一些重復(fù)數(shù)據(jù)刪除。如果與 一起使用legacy-bundling
,legacy-bundling
?將是首選。
默認(rèn)值:假類型:布爾型使 npm 安裝包,以便 1.4 之前的 npm 版本,例如 node 0.8 中包含的版本,可以安裝該包。這消除了所有自動(dòng)重復(fù)數(shù)據(jù)刪除。如果與global-style
此選項(xiàng)一起使用將是首選。
false
Boolean
如果設(shè)置為true
,并且--legacy-peer-deps
未設(shè)置,則任何?沖突peerDependencies
都將被視為安裝失敗,即使 npm 可以根據(jù)非對等依賴關(guān)系合理猜測適當(dāng)?shù)慕鉀Q方案。
默認(rèn)情況下,peerDependencies
依賴關(guān)系圖中的深層沖突將使用最近的非對等依賴項(xiàng)規(guī)范來解決,即使這樣做會(huì)導(dǎo)致某些包接收在其包peerDependencies
對象中設(shè)置的范圍之外的對等依賴項(xiàng)。
當(dāng)執(zhí)行此類和覆蓋時(shí),會(huì)打印警告,解釋沖突和所涉及的包。如果--strict-peer-deps
設(shè)置,則此警告被視為失敗。
true
Boolean
如果設(shè)置為 false,則package-lock.json
在安裝時(shí)忽略文件。如果為真,這也將阻止寫入?。package-lock.json``save
當(dāng)包包鎖被禁用時(shí),無關(guān)模塊的自動(dòng)修剪也將被禁用。要?jiǎng)h除禁用包鎖的無關(guān)模塊,請使用npm prune
.
NODE_ENV
環(huán)境變量設(shè)置為production
,則為dev
,否則為null
。dev
、optional
或peer
(可多次設(shè)置)要從磁盤上的安裝樹中省略的依賴項(xiàng)類型。
請注意,這些依賴的仍然解決,加入?package-lock.json
或npm-shrinkwrap.json
文件。它們只是沒有物理安裝在磁盤上。
如果包類型同時(shí)出現(xiàn)在--include
和--omit
列表中,則它將被包括在內(nèi)。
如果生成的省略列表包含'dev'
,則NODE_ENV
環(huán)境變量將被設(shè)置'production'
為所有生命周期腳本。
false
Boolean
如果為 true,則 npm 不會(huì)運(yùn)行 package.json 文件中指定的腳本。
請注意,明確用于運(yùn)行特定腳本的命令,例如?npm start
,?npm stop
,?npm restart
,?npm test
, 并且npm run-script
?如果ignore-scripts
已設(shè)置仍將運(yùn)行其預(yù)期腳本,但它們不會(huì)運(yùn)行任何前置或后置腳本。
Boolean
當(dāng)為true
時(shí),將審計(jì)報(bào)告與當(dāng)前 npm 命令一起提交到默認(rèn)注冊表和為范圍配置的所有注冊表。
true
Boolean
告訴 npm.cmd
為包可執(zhí)行文件創(chuàng)建符號鏈接(或Windows 上的墊片)。
設(shè)置為 false
使其不這樣做。這可以用來解決一些文件系統(tǒng)不支持符號鏈接的事實(shí),即使在表面上是 Unix 系統(tǒng)上。
true
Boolean
當(dāng)“true”在每個(gè)結(jié)尾處顯示消息時(shí),npm install
?確認(rèn)正在尋找資金的依賴項(xiàng)的數(shù)量。
false
Boolean
表示你不希望 npm 進(jìn)行任何更改并且它應(yīng)該只報(bào)告它會(huì)做的事情。這可以被傳遞到任何修改本地安裝,例如,命令的install
,update
,?dedupe
,uninstall
,以及pack
和publish
。
注意:這不是由其他網(wǎng)絡(luò)相關(guān)的命令,如兌現(xiàn)dist-tags
,?owner
等等。
String
(可多次設(shè)置)允許在當(dāng)前項(xiàng)目的已配置工作區(qū)的上下文中運(yùn)行命令,同時(shí)通過僅運(yùn)行此配置選項(xiàng)定義的工作區(qū)進(jìn)行過濾。
workspace
配置的有效值為:
為該npm init
命令設(shè)置時(shí),可以將其設(shè)置為尚不存在的工作區(qū)的文件夾,以創(chuàng)建該文件夾并將其設(shè)置為項(xiàng)目中的全新工作區(qū)。
此值不會(huì)導(dǎo)出到子進(jìn)程的環(huán)境中。
false
Boolean
啟用在所有已配置工作區(qū)的上下文中運(yùn)行命令。
此值不會(huì)導(dǎo)出到子進(jìn)程的環(huán)境中。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: