[英]Is there a way to get npm install to install "bin" executables in the local node_modules directory (the .bin directory)?
我有一個 Node 項目,我可以npm pack
成一個 tarball,然后安裝到另一個目錄中進行測試。 當我這樣做時,我的package.json
的“bin”子句中的文件集被正確地符號鏈接到那里的node_modules/.bin
目錄中。 因此,我可以使用npx something
來運行“something”腳本,並且它按我預期的那樣工作。
然而,在實際的項目目錄中, npm install
不會這樣做。 這些腳本當然在我的頂級“bin”目錄中,但npx
找不到它們。 顯然我可以直接運行它們,但如果我可以運行相同的 shell 命令以在其他安裝目錄和項目主目錄中運行它們,那就太好了。
我不想全局安裝 package; 我想把所有東西都放在本地,至少現在是這樣。 那么我可以獲取npm
來為我創建這些符號鏈接,還是我應該硬着頭皮自己做?
這是我的package.json
:
{
"name": "@foo/plazadb",
"version": "0.1.0",
"description": "Basic database setup with upload/download from CSV",
"main": "lib/plazadb.js",
"author": "Pointy",
"license": "ISC",
"dependencies": {
"arg": "^5.0.1",
"cls-hooked": "^4.2.2",
"csv-parser": "^3.0.0",
"csv-stringify": "^6.0.5",
"neat-csv": "^7.0.0",
"pg": "^8.7.*",
"sequelize": "^6.16.*"
},
"bin": {
"conntest": "./bin/conntest.js",
"download": "./bin/download.js",
"upload": "./bin/upload.js"
}
}
“bin”文件都存在(當然,否則它們將永遠無法工作)。 我正在嘗試(出於無知)是從項目目錄進行簡單的npm install
。
一種方法是通過
npm config set prefix <path>
或此處鏈接的其中一種方法指定本地前綴。npm link
請注意,要撤消npm link
,請執行npm unlink.
可能行不通。 相反,可能必須運行npm uninstall -g.
.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.