目錄
1、下載安裝全局包
2、解決全局安裝包時的EACCES權(quán)限錯誤
2.1 重新安裝NPM
2.2?手動更改npm的默認目錄
3、更新從注冊表下載的包
3.1 更新本地包
3.2?更新全局安裝的軟件包
3.3?確定哪些全局包需要更新
3.4?更新單個全局包
3.5?更新所有全局安裝的軟件包
4、在項目中使用NPM包
4.1?在項目中使用未限定作用域的包
Node.js模塊
package.json文件
4.2?在項目中使用限定了作用域的包
Node.js模塊
package.json文件
5、使用不推薦使用的軟件包
6、卸載包和依賴項
6.1?卸載本地軟件包
從node_modules目錄中刪除本地包
無作用域包?
?作用域包?
6.2?刪除本地包而不從package.json中刪除
6.3?卸載全局軟件包
無作用域包?
作用域
1、下載安裝全局包
全局安裝包允許您將包中的代碼用作本地計算機上的一組工具。
要全局下載和安裝軟件包,請在命令行上運行以下命令:
npm install -g <package_name>
提示:如果您使用的是npm 5.2或更高版本,我們建議使用
npx
全局運行包。
如果出現(xiàn)EACCES權(quán)限錯誤,您可能需要使用版本管理器重新安裝npm,或者手動更改npm的默認目錄。
2、解決全局安裝包時的EACCES權(quán)限錯誤
如果在嘗試全局安裝軟件包
時看到EACCES
錯誤,您可以:
- 使用節(jié)點版本管理器重新安裝npm(推薦)
-
手動更改npm的默認目錄
?一般情況下是由于系統(tǒng)目錄權(quán)限導(dǎo)致的,例如在系統(tǒng)盤(C盤)可能會有這種問題,這時候我們安裝在C盤之外的其他盤下面(例如:D盤目錄下)就可以解決。
2.1 重新安裝NPM
在安裝節(jié)點版本管理器之前,您不需要刪除當前版本的npm或Node.js。
安裝方式可以參考Node.js的安裝
2.2?手動更改npm的默認目錄
注意:本節(jié)不適用于Windows系統(tǒng),Windows 最好重新安裝一下,換一個安裝目錄。
1、先備份一下原來npm全局目錄
2、在命令行上,在主目錄中,為全局安裝創(chuàng)建一個目錄:
mkdir ~/.npm-global
?3、配置npm以使用新的目錄路徑:
npm config set prefix '~/.npm-global'
4、在您喜歡的文本編輯器中,打開或創(chuàng)建一個~/.profile
文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
5、在命令行中,更新系統(tǒng)變量:
source ~/.profile
6、要測試您的新配置,請在不使用sudo
的情況下全局安裝一個軟件包:
npm install -g jshint
您可以使用相應(yīng)的ENV變量(例如:如果您不想修改~/.profile
):
NPM_CONFIG_PREFIX=~/.npm-global
最后,如果不想重新安裝原來之前的包,也可以把之前的包,拷貝到當前目錄下。
3、更新從注冊表下載的包
更新從注冊表下載的本地和全局包有助于保持代碼和工具的穩(wěn)定、可用和安全。
3.1 更新本地包
我們建議定期更新項目所依賴的本地包,以便在改進其依賴項時改進代碼。
1、切換到項目的根目錄,并確保它包含package.json
文件:
cd /path/to/project
2、在項目根目錄下,運行update命令:
npm update
3、要測試更新,請運行outdated命令
。不應(yīng)該有任何輸出。
npm outdated
3.2?更新全局安裝的軟件包
注意:如果您使用的是npm 版本過低,在更新包的會報錯,建議更新到新版本的npm,然后再更新所有過時的全局包。
請考慮升級到最新版本的npm:
npm install npm@latest -g
3.3?確定哪些全局包需要更新
要查看哪些全局包需要更新,請在命令行上運行:
npm outdated -g --depth=0
3.4?更新單個全局包
要更新單個全局包,請在命令行上運行:
npm update -g <package_name>
3.5?更新所有全局安裝的軟件包
要更新所有全局包,請在命令行上運行:
npm update -g
4、在項目中使用NPM包
一旦你在node_modules
中安裝了一個包
,你就可以在你的代碼中使用它了。
4.1?在項目中使用未限定作用域的包
Node.js模塊
如果你正在創(chuàng)建一個Node.js模塊,你可以在你的模塊中使用一個包,方法是將它作為參數(shù)傳遞給require
函數(shù)。
var deepMerge = require('deepmerge')
var test = deepMerge.all([[10, 20, 30], [40, 50]])
console.log('test: ', test);
// test: [ 10, 20, 30, 40, 50 ]
package.json文件
在package.json
中,在dependencies下列出包。您可以選擇包含語義版本
。
{
"dependencies": {
"package_name": "^1.0.0"
}
}
4.2?在項目中使用限定了作用域的包
要使用有作用域的包,只要在使用包名的任何地方包含作用域即可。
Node.js模塊
var projectName = require("@scope/package-name")
package.json文件
在package.json
中:
{
"dependencies": {
"@scope/package_name": "^1.0.0"
}
}
5、使用不推薦使用的軟件包
如果您安裝了一個軟件包,并且它打印了一條棄用消息,我們建議您按照說明操作(如果可能)。這可能意味著更新到新版本,或者更新包依賴項。
棄用消息并不總是意味著軟件包或版本不可用;這可能意味著該包未被維護并且將不再由發(fā)布者更新。?
6、卸載包和依賴項
如果您不再需要在代碼中使用某個包,我們建議您卸載它并將其從項目的依賴項中移除。
6.1?卸載本地軟件包
從node_modules目錄中刪除本地包
要從node_modules目錄中刪除包,請在命令行中使用uninstall命令
。如果包有作用域,則包括作用域。
這將卸載一個包,完全刪除npm代表它安裝的所有內(nèi)容。它還從package.json中的dependencies、devDependencies、optionalDependencies和peerDependencies對象中刪除包。此外,如果您有npm-shrinkwrap.json或package-lock.json,npm也會更新這些文件。
無作用域包?
npm uninstall <package_name>
?作用域包?
npm uninstall <@scope/package_name>
6.2?刪除本地包而不從package.json中刪除
使用--no-save
將告訴npm不要從package.json
,npm-shrinkwrap.json
或package-lock.json
文件中刪除包。
--save
或-S
將告訴npm從package.json
、npm-shrinkwrap.json
和package-lock.json
文件中刪除該包。這是默認值,但如果您的save=false
文件中有例如.npmrc
,則可能需要使用此選項。文章來源:http://www.zghlxwxcb.cn/news/detail-829974.html
6.3?卸載全局軟件包
要卸載未限定作用域的全局軟件包,請在命令行中使用帶有uninstall
標志的-g
命令。如果包有作用域,則包括作用域。文章來源地址http://www.zghlxwxcb.cn/news/detail-829974.html
無作用域包?
npm uninstall -g <package_name>
作用域
npm uninstall -g <@scope/package_name>
到了這里,關(guān)于NPM包的安裝、更新、卸載的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!