NPM 글로벌 설치 "모듈을 찾을 수 없음"
조금 전에 npm에 게시한 모듈을 작성했습니다(https://npmjs.org/package/wisp)
따라서 명령줄에서 올바르게 설치됩니다.
$ npm i -g wisp
그러나 명령줄에서 실행하면 옵티미스트가 설치되지 않았다는 오류가 계속 표시됩니다.
$ wisp
Error: Cannot find module 'optimist'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:12:10)
at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:96:4)
at Module._compile (module.js:449:26)
at Object.exports.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:68:25)
at compileScript (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:135:29)
at fs.stat.notSources.(anonymous function) (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:110:18)
하지만, 저는 패키지에 명시했습니다.종속성으로서의 json:
{
"name": "wisp",
"author": "Brendan Scarvell <bscarvell@gmail.com>",
"version": "0.1.0",
"description": "Global nodejs file server",
"dependencies": {
"optimist": "~0.3.4"
},
"repository": "git://github.com/tehlulz/wisp",
"bin": {
"wisp" : "./wisp"
}
}
이 일을 실행하기 위해 무엇을 해야 하는지 아는 사람이 있습니까?실행 파일을 bin에 추가하는 bin 부분과 해당 디렉토리의 node_modules가 비어 있는 것과 관련이 있는 것으로 알고 있습니다.어떻게 해결해야 할지 모르겠습니다.
이 문제에 부딪히는 다른 사람들을 위해, 저는 제 문제 때문에 이 문제를 겪었습니다.npm내 내위아위설치치에NODE_PATH.
[root@uberneek ~]# which npm
/opt/bin/npm
[root@uberneek ~]# which node
/opt/bin/node
[root@uberneek ~]# echo $NODE_PATH
NODE_PATH 파일을 실행하고 .npm install --global --verbose promised-io를 에설되어보 습니다었여에 ./opt/lib/node_modules/promised-io:
[root@uberneek ~]# npm install --global --verbose promised-io
npm info it worked if it ends with ok
npm verb cli [ '/opt/bin/node',
npm verb cli '/opt/bin/npm',
npm verb cli 'install',
npm verb cli '--global',
npm verb cli '--verbose',
npm verb cli 'promised-io' ]
npm info using npm@1.1.45
npm info using node@v0.8.4
[cut]
npm info build /opt/lib/node_modules/promised-io
npm verb from cache /opt/lib/node_modules/promised-io/package.json
npm verb linkStuff [ true, '/opt/lib/node_modules', true, '/opt/lib/node_modules' ]
[cut]
스크립트가 실패했습니다.require('promised-io/promise'):
[neek@uberneek project]$ node buildscripts/stringsmerge.js
module.js:340
throw err;
^
Error: Cannot find module 'promised-io/promise'
at Function.Module._resolveFilename (module.js:338:15)
에서 사용하여 입니다.configure --prefix=/opt이 때문에 설치된 모듈을 찾을 수 없게 된 이유를 모르겠습니다.현재로서는 NODE_PATH를 올바른 디렉토리로 지정하는 것이 수정 사항입니다.
export NODE_PATH=/opt/lib/node_modules
나의require('promised-io/promise')이제 성공합니다.
프로그램(mac)의 시작 부분에 추가:
module.paths.push('/usr/local/lib/node_modules');
기본적으로 노드는 글로벌 모듈을 로드하기 위해 /usr/local/lib/node_module 내부를 보지 않습니다.http://nodejs.org/api/modules.html#modules_loading_from_the_global_folders 에 설명된 모듈 로드를 참조하십시오.
따라서 1) /usr/local/lib/node_module을 NODE_PATH에 추가하여 내보내거나 2) 설치된 노드 모듈을 /usr/local/lib/node에 복사해야 합니다. (모듈 노드 로드 링크에서 설명한 대로 이 경로에서 검색하여 작동합니다.)
모든 모듈에 대해 다음과 같은 일반 수정 사항이 적용됩니다.예를 들어 다음과 같습니다.request-promise.
를 바꿉니다.
npm install request-promise --global
와 함께
npm install request-promise --cli
작업(소스) 및 또한globals그리고.inherits
또한 환경 변수를 설정해 보십시오.
NODE_PATH=%AppData%\npm\node_modules
다른 어떤 것도 작동하지 않는 일부(나와 같은)의 경우, 다음을 시도해 보십시오.
brew cleanup
brew link node
brew uninstall node
brew install node
누군가에게 도움이 되길 바랍니다 :)
"optimist" 모듈 오류가 발생하여 해결하기 위해 "npm install"을 수행했습니다. 오류를 넘었습니다.
https://github.com/mbloch/mapshaper/issues/12
윈도우즈에서 새로 설치한 경우 \AppData\Roaming에서 npm 캐시를 제거해야 합니다.
vim /etc/profile.d/nodejs.쉬
export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
Windows의 경우 Nodejs에서 Windows에 설치된 모듈을 찾을 수 없습니까?제게 효과가 있었던 것은 npm 링크를 실행하는 것입니다.
npm link wisp
난 단순한 방법으로 이 일을...
- 제어판에서 노드 제거 [윈도우즈 7]
- 노드 다시 설치
- 설치하기
npm install --global --verbose protractor
웹 드라이버 관리자를 업데이트합니다.
저는 잘 작동합니다.
이것이 당신에게 도움이 되길 바랍니다.
이 오류가 발생했습니다.Error: Cannot find module 'number-is-nan'반면에 모듈은 실제로 존재합니다.잘못된/불완전한 Node.js 설치 때문입니다.
Windows의 경우 다른 답변에서 알 수 있듯이 노드를 새로 설치해야 합니다.
- Node.js 제거
- 개의 폴더를 합니다.
npm그리고.npm_cacheC:\Users\user\AppData\Roaming - 윈도우즈를 다시 시작하고 Node.js를 설치합니다.
- 려달을 합니다.
npm init또는 (npm init --yes기본 구성의 경우) - 의 Windows 환경 를 설정합니다.
NODE_PATH이 경로는 패키지가 설치되는 곳입니다.아마 그런 것 같습니다.NODE_PATH = C:\Users\user\node_modules or C:\Users\user\AppData\Roaming\npm\node_modules - 하고 "cmd 파일"을 사용합니다.
npm될 예요 ㅠㅠㅠㅠㅠㅠㅠ
참고:
Node.js를 다시 설치하기 전에 마지막 지점을 시도하십시오. 그러면 시간이 절약되고 모든 패키지를 다시 설치하지 않아도 됩니다.
Mac 사용자의 경우 수동 설치를 사용하는 것이 가장 좋습니다.
권한 오류 발생 가능성을 최소화하기 위해 다른 디렉터리를 사용하도록 npm을 구성할 수 있습니다.이 예에서는 홈 폴더의 숨겨진 디렉토리가 됩니다.
시작하기 전에 시스템을 백업합니다.
글로벌 설치를 위한 디렉토리를 만듭니다.
mkdir ~/.npm-global
새 디렉터리 경로를 사용하도록 npm을 구성합니다.
npm 구성 집합 접두사 '~/.npm-global'
~/.profile 파일을 열거나 생성하고 다음 행을 추가합니다.
PATH=~/.npm-global/bin 내보내기:$경로.
명령줄로 돌아가서 시스템 변수를 업데이트합니다.
source ~/.profile
테스트: sudo를 사용하지 않고 패키지를 전체적으로 다운로드합니다.
npm 설치 - gjshint
2-4단계 대신 해당 ENV 변수(예: ~/.profile을 수정하지 않으려는 경우)를 사용할 수 있습니다.
NPM_CONFIG_PREFIX=~/.npm-global
참조: https://docs.npmjs.com/getting-started/fixing-npm-permissions
이 .axios모듈.그 다음에 시도했습니다: 실행.rm -rf node_modules그리고.yarn효과가 있습니다.그리고 그것은 동작한다.
실행 중인 테스트 서버 중 하나에서 동일한 문제가 발생했습니다.Ubunturoot그런 다음 다음 다음을 사용하여 새 사용자를 생성합니다.useradd -m myuser모든 것을 설치했습니다(nvm,node as "(패키지)"myuser이제는 잘 작동합니다.
에는 둘 다.node그리고.npm같은 경로에 있었습니다./usr/bin , ). 그.NODE_PATH비어있었기 때문에,npm을 벌모에배니습다했치에 배치했습니다./usr/lib/node_modulesrequire(...)성공적으로 그들을 찾았습니다.는 유한예는입니다.npm모듈. nodejs 패키지와 함께 제공됩니다.제가 64비트 시스템을 사용하고 있기 때문에, 그것은 에 배치되었습니다./usr/lib64/node_modules빈 경우 검색이 필요한(...) 위치가 아닙니다.NODE_PATH노드가 시작되었습니다./usr/bin그래서 저는 두 가지 선택지가 있었습니다.
- 링크
/usr/lib64/node_modules/npm로./usr/lib/node_modules/npm - 모듈 이동
/usr/lib/node_modules/*로./usr/lib64/node_modules/세트NODE_PATH=/usr/lib64/node_modules
둘 다 효과가 있었습니다.OpenSUSE 42.1과 업데이트 저장소의 nodejs 패키지를 사용하고 있습니다.버전은 4.4.5입니다.
OP와 같은 오류가 있었지만, 로그를 뒤적여 보면 알 수 있었습니다.sh: node: command not found.
/usr/bin/node 프로그램(심링크)이 더 이상 설치되지 않은 것으로 나타났습니다.apt install nodejs한 번 링크됨/usr/bin/node' tonodejs,npm install -g @session/cli' 성공했습니다.
이것을 데비안에 설치하는 적절한 방법은.apt install nodejs-legacy.
C를 추가해야 했습니다.\Users\{Username}\AppData\Roaming\npm을 환경 변수에 설치한 다음 항목을 설치할 수 있습니다.
동일한 문제에 직면하여 아래 행을 my zshrc에 추가하여 해결했습니다.셸을 기반으로 홈 위치에 있는 bash 및 zsh - bashrc/zshrc 파일을 rc 파일에 추가할 수 있습니다.
export NODE_PATH="/usr/local/lib/node_modules"
zshrc 파일에 직접 추가하려면 이 명령을 실행합니다.
echo 'export NODE_PATH="/usr/local/lib/node_modules"' >> ~/.zshrc
알파인 / 컨테이너화
다른 곳에서 언급했듯이, 해결책은 당신의 이미지를 만드는 것입니다.
NODE_PATH=/usr/local/lib/node_modules/
나는 또한 pk로 업스트림 문제를 열어서 이것이 설정됩니다.
언급URL : https://stackoverflow.com/questions/12594541/npm-global-install-cannot-find-module
'programing' 카테고리의 다른 글
| @*ngIf에서 자식 보기 (0) | 2023.05.24 |
|---|---|
| 스토리보드 및 ARC가 없는 Xcode (0) | 2023.05.24 |
| 장고 모델에서 전화번호를 저장하는 가장 좋은 방법은 무엇입니까? (0) | 2023.05.24 |
| 이전 명령이 성공한 경우 한 명령을 실행하고, 그렇지 않은 경우 다른 명령을 실행하는 방법 (0) | 2023.05.24 |
| jQuery에서 PUT/DELETE 요청을 보내는 방법은 무엇입니까? (0) | 2023.05.24 |